又是一年畢業季——程式設計師的苦與樂

老於`發表於2020-05-19

又是一年畢業季,一大波程式設計師又將進入戰場。

不知不覺間距離畢業的念頭已經一隻手都數不過來了,想想上一次在學校的日子還是在21世紀10年代。在程式設計師這個行業也摸爬滾打好幾年了。在這一大波程式設計師進入戰場之前,談談這些年感受到的苦與樂。希望想要入坑或即將入坑的同學們,慎重考慮!

程式設計師樂趣

我想程式設計師這個職業最大的樂趣a在於其並不是一個完全重複性的職業。寫程式、開發軟體,不是一個簡單的重複性的肌肉勞動,更多的是腦力勞動。相比於工廠生產線上那日復一日年復一年的重複性勞動,我想,從事腦力工作人是幸福的,雖然它們可能會掉更多的頭髮。

創造的快感

這種非重複的勞動會有很大的創造性,而創造本身就可以可以帶給人很純粹的快樂,就像小孩可以不知飢餓的玩泥巴,畫家可以為了新作可以廢寢忘食、建築師可以為了設計圖而不眠不休一樣,程式設計師也可以為了程式的完成而通宵達旦。

我經常會跟朋友開玩笑說,程式設計師也是“藝術家”。其實仔細想想畫家畫畫、音樂家創造音樂、作家寫出文章......他們都是一個無中生有、創作的過程。而程式設計師寫程式、做軟體,同樣是一個無中生有,是一個創造事物的過程。為什麼不能稱為藝術家呢?

魔術般的力量

創造的過程會體現出一種魔術般的力量,將一個個細小的零部件通過不同的方式組裝起來,看著它們精妙的執行,並且得到自己預期的結果。你就想一個掌控全域性的指揮著,整個過程散發著迷人的魅力。這種掌控一切的感覺讓人迷戀。

創造的過程可以給人很純粹的快樂,創造的成果則會給人很大的成就感,看著我們敲出的一行行程式碼能列印結果,繪製圖形,發出聲音......神話中魔術般的場景,在我們這裡成為了現實。

而如果我們創造出的東西可以被其他人所使用,可以給他人帶來幫助,那麼它會給我們帶來更大的愉悅感。快樂有時源於我們是一個有用的人,我們可以做出對他人有用的東西。每個人內心深處都會渴望自己被社會被他人所需要的。沒有什麼比看著我們的勞動成果被人所需要,並可以給予他人幫助更令人開心的事了。

學習的樂趣

學習使我快樂!

正是由於程式設計師工作的不重複性,創造性。你需要不斷的進行學習。學習新的思想、新的技術......

而學習新事物的本身就是充滿樂趣的。而這一點也是在畢業以後從事了這個行業才感受到的,在學校的時候總是被逼著學,因此對學習充滿了抗拒。而工作以後更多的是出於自願、出於興趣。每學習到一個新的技能、新的知識點,總會有種莫名的喜悅。以至於工作越久越發懷念與羨慕那學校的時光,可惜卻再也回不去了。

程式設計師的苦惱

程式設計師的工作是充滿樂趣的,但其中卻也包含了許多苦惱。

枯燥沉悶的勞動

萬丈高樓平地起,也都是工人們一塊一塊磚蓋起來的。程式與軟體同樣如此。再龐大的軟體都是一行行程式碼寫出來的。而與建築師所不同的是,建築師只需要設計,由工人們負責執行。而程式設計師大多數時候還需要自己去親自實現自己的設計,甚至是他人的設計。創造是令人愉悅的,實現的過程卻也是枯燥而沉悶。

繁雜瑣碎的Bug

程式的創造必然會產生其附屬產物——Bug,儘管這個產物你並不想要,卻也是無法避免的。你必須時候準備好迎接它,並要有耐心去尋找它產生的原因,花費大量的時間查錯、除錯,並解決它。不管它是不是你所創造出來的。

身不由己的無奈

程式設計師這個職業有很多身不由己的無奈。

雖然程式是由你來創造,很多時候卻必須由他人來設定目標,供給資源,提供資訊。

很多時候我們也不能決定自己的工作環境、工作時間。

我們必須在有限的時間和有效的資源範圍內,尋找解決實際問題的切實可行方案。

有些時候我們不得不依賴一些他人的東西。有的時候這是一件非常痛苦的事情,往往這些程式設計得並不合理,實現拙劣,釋出不完整(沒有原始碼或測試用例),或者文件記錄得很糟。

有些時候我們必須按照別人的設計進行創造,儘管這些設計糟糕的像坨屎。

有些時候我們不得不在一個大的團隊系統中扮演一個螺絲釘的角色,你不得不臣服於既有的規則,儘管你有很多的想法、很優秀的設計,卻也是有心殺賊無力迴天

......

沒有回報的失落

我曾經在我第一家公司的產品上投入了大量的心血,投入了無數個加班的日日夜夜,投入了我最好的幾年青春,而最終這個我付出了那麼多的產品卻因為種種原因沒能走向市場。你必須也只能接受這種結果,當投入了大量辛苦的勞動,產品在即將完成或者終於完成的時候,卻已顯得陳舊過時。也可能是同事和競爭對手已在追逐新的、更好的構思......。

不斷學習的壓力

在這飛速發展的社會,產品、技術的發展都是日新月異、優勝劣汰。因此你必須不斷地學習,學習雖然會給我們帶來樂趣,卻也會給我們帶來很大的壓力。也許二十多歲你還能有精力、有能力去學習去接受新的事物,那麼三十歲、四十歲、五十歲呢?面對中年壓力,頭腦退化的你是否又有今天的精力、體力與勇氣呢?

前期職業的悲哀

與教師、醫生等越老越吃香的後期發力的職業不同,程式設計師無疑是一個前期發力的職業。也許有很多人羨慕程式設計師行業略高的薪資。卻不知這是用時間、用青春、用頭髮、用身體換來的。越來越多的人的湧入,使得這個行業的競爭壓力越來越大,也助長了一些不正之風,無償的加班,無底線的壓榨勞動力......,二十多歲的年紀尚可敢打能拼,而三十歲以後頭腦,身體,時間,精力都已無與年輕人競爭之力。越來越多的人面臨失業,也正是因為前期透支了過多的時間與精力,沒有時間去學習發展別的技能。面對失業的人生只能一無所措。

《人月神話》一書,把這個行業比作一個焦油坑,無論你是誰,無論你是否強大,只要陷入其中,就難以自拔,束縛到底。這就是程式設計師,一種樂趣和苦惱共存的創造性活動。於有些人而言其中的樂趣大於苦惱,而對有些人而言其中的苦惱大於樂趣.

這就是程式設計師,一個許多人苦苦掙扎,卻痛並快樂著的職業!

相關文章