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