又是一年畢業季,一大波程式設計師又將進入戰場。
不知不覺間距離畢業的念頭已經乙隻手都數不過來了,想想上一次在學校的日子還是在21世紀10年代。在程式設計師這個行業也摸爬滾打好幾年了。在這一大波程式設計師進入戰場之前,談談這些年感受到的苦與樂。希望想要入坑或即將入坑的同學們,慎重考慮!
程式設計師樂趣#
我想程式設計師這個職業最大的樂趣a在於其並不是乙個完全重複性的職業。寫程式、開發軟體,不是乙個簡單的重複性的肌肉勞動,更多的是腦力勞動。相比於工廠生產線上那日復一日年復一年的重複性勞動,我想,從事腦力工作人是幸福的,雖然它們可能會掉更多的頭髮。
創造的快感#
這種非重複的勞動會有很大的創造性,而創造本身就可以可以帶給人很純粹的快樂,就像小孩可以不知飢餓的玩泥巴,畫家可以為了新作可以廢寢忘食、建築師可以為了設計圖而不眠不休一樣,程式設計師也可以為了程式的完成而通宵達旦。
我經常會跟朋友開玩笑說,程式設計師也是「藝術家」。其實仔細想想畫家畫畫、**家創造**、作家寫出文章…他們都是乙個無中生有、創作的過程。而程式設計師寫程式、做軟體,同樣是乙個無中生有,是乙個創造事物的過程。為什麼不能稱為藝術家呢?
魔術般的力量#
創造的過程會體現出一種魔術般的力量,將乙個個細小的零部件通過不同的方式組裝起來,看著它們精妙的執行,並且得到自己預期的結果。你就想乙個掌控全域性的指揮著,整個過程散發著迷人的魅力。這種掌控一切的感覺讓人迷戀。
創造的過程可以給人很純粹的快樂,創造的成果則會給人很大的成就感,看著我們敲出的一行行**能列印結果,繪製圖形,發出聲音…神話中魔術般的場景,在我們這裡成為了現實。
而如果我們創造出的東西可以被其他人所使用,可以給他人帶來幫助,那麼它會給我們帶來更大的愉悅感。快樂有時源於我們是乙個有用的人,我們可以做出對他人有用的東西。每個人內心深處都會渴望自己被社會被他人所需要的。沒有什麼比看著我們的勞動成果被人所需要,並可以給予他人幫助更令人開心的事了。
學習的樂趣#
學習使我快樂!
正是由於程式設計師工作的不重複性,創造性。你需要不斷的進行學習。學習新的思想、新的技術…
而學習新事物的本身就是充滿樂趣的。而這一點也是在畢業以後從事了這個行業才感受到的,在學校的時候總是被逼著學,因此對學習充滿了抗拒。而工作以後更多的是出於自願、出於興趣。每學習到乙個新的技能、新的知識點,總會有種莫名的喜悅。以至於工作越久越發懷念與羨慕那學校的時光,可惜卻再也回不去了。
程式設計師的苦惱#
程式設計師的工作是充滿樂趣的,但其中卻也包含了許多苦惱。
枯燥沉悶的勞動#
萬丈高樓平地起,也都是工人們一塊一塊磚蓋起來的。程式與軟體同樣如此。再龐大的軟體都是一行行**寫出來的。而與建築師所不同的是,建築師只需要設計,由工人們負責執行。而程式設計師大多數時候還需要自己去親自實現自己的設計,甚至是他人的設計。創造是令人愉悅的,實現的過程卻也是枯燥而沉悶。
繁雜瑣碎的bug#
程式的創造必然會產生其附屬產物——bug,儘管這個產物你並不想要,卻也是無法避免的。你必須時候準備好迎接它,並要有耐心去尋找它產生的原因,花費大量的時間查錯、除錯,並解決它。不管它是不是你所創造出來的。
身不由己的無奈#
程式設計師這個職業有很多身不由己的無奈。
雖然程式是由你來創造,很多時候卻必須由他人來設定目標,供給資源,提供資訊。
很多時候我們也不能決定自己的工作環境、工作時間。
我們必須在有限的時間和有效的資源範圍內,尋找解決實際問題的切實可行方案。
有些時候我們不得不依賴一些他人的東西。有的時候這是一件非常痛苦的事情,往往這些程式設計得並不合理,實現拙劣,發布不完整(沒有源**或測試用例),或者文件記錄得很糟。
有些時候我們必須按照別人的設計進行創造,儘管這些設計糟糕的像坨屎。
有些時候我們不得不在乙個大的團隊系統中扮演乙個螺絲釘的角色,你不得不臣服於既有的規則,儘管你有很多的想法、很優秀的設計,卻也是有心殺賊無力回天
沒有回報的失落#
我曾經在我第一家公司的產品上投入了大量的心血,投入了無數個加班的日日夜夜,投入了我最好的幾年青春,而最終這個我付出了那麼多的產品卻因為種種原因沒能走向市場。你必須也只能接受這種結果,當投入了大量辛苦的勞動,產品在即將完成或者終於完成的時候,卻已顯得陳舊過時。也可能是同事和競爭對手已在追逐新的、更好的構思…。
不斷學習的壓力#
在這飛速發展的社會,產品、技術的發展都是日新月異、優勝劣汰。因此你必須不斷地學習,學習雖然會給我們帶來樂趣,卻也會給我們帶來很大的壓力。也許二十多歲你還能有精力、有能力去學習去接受新的事物,那麼三十歲、四十歲、五十歲呢?面對中年壓力,頭腦退化的你是否又有今天的精力、體力與勇氣呢?
前期職業的悲哀#
與教師、醫生等越老越吃香的後期發力的職業不同,程式設計師無疑是乙個前期發力的職業。也許有很多人羨慕程式設計師行業略高的薪資。卻不知這是用時間、用青春、用頭髮、用身體換來的。越來越多的人的湧入,使得這個行業的競爭壓力越來越大,也助長了一些不正之風,無償的加班,無底線的壓榨勞動力…,二十多歲的年紀尚可敢打能拼,而三十歲以後頭腦,身體,時間,精力都已無與年輕人競爭之力。越來越多的人面臨失業,也正是因為前期透支了過多的時間與精力,沒有時間去學習發展別的技能。面對失業的人生只能一無所措。
《人月神話》一書,把這個行業比作乙個焦油坑,無論你是誰,無論你是否強大,只要陷入其中,就難以自拔,束縛到底。這就是程式設計師,一種樂趣和苦惱共存的創造性活動。於有些人而言其中的樂趣大於苦惱,而對有些人而言其中的苦惱大於樂趣.
這就是程式設計師,乙個許多人苦苦掙扎,卻痛並快樂著的職業!
二逼程式設計師與苦逼程式設計師
經過多年的觀察,我發現世界上的程式設計師可以分為兩種,不論他們使用何種技術 1.二逼程式設計師 day programmers 2.苦逼程式設計師 night programmers day programmers 在這個行業裡佔了大多數。你會發現這類程式設計師往往在一些大的企業和組織任職,這些單位...
苦逼的程式設計師
很多it圈的人很多時候都在談自己是苦逼的人,由於接觸程式設計師比較多,所以,說程式設計師是苦逼職業的比較多。然而細想想,這只不過是個人感覺或者一種心理而已,因為你每天接觸的資訊和人際圈就是這些人,累了就覺得苦逼。其實,哪個職業不苦逼呢?產品經理不苦逼嗎?美工不苦逼嗎?改來改去的也不只是程式設計師。銷...
苦逼程式設計師的2011
不知不覺中到了年底,馬上這一年就要結束了。一直想提筆寫寫我的2011,但是一直沒有勇氣,這一年發生了太多的事情,讓我有些不忍去回憶。但是該面對的還是要面對的,如果都不能坦然面對,如何去放下心中的包袱?盤點今年,真的是喜怒哀樂,樣樣俱全。3月份,自己第一次做領隊,做計畫,帶著兄弟們進行了戶外俱樂部建立...