程序員的人生出口
很多人非常想知道自己的未來是什么樣子的,迫切到一定程度甚至會找算命先生。如果并不是想得到一個精確結果,這事兒其實并沒有想的那么難。程序員的人生看起來五花八門,可以是Windows系,可以是Android系,可以是iPhone系等等,但如果為之做點抽象,那就會發現人生出口的類別其實不多,接下來我們就結合例子來看看程序員的人生中最可能的幾個出口。這些出口里有大部分人的未來景象。
1 成就超一流高手
袁峰先生是《Windows圖形編程》一書的作者,也是一位純粹的程序員。從袁峰先生公開的簡歷(www.fengyuan.com)來看,袁峰先生從1993年加入HP一直到現在在微軟從事CLR的開發始終是在編程第一線。在他的Blog上可以看出清晰的技術路線圖:Printing →GDI/GDI+ → XPS →WPF →Parallel Computing → Debugging → Performance → CLR。
考慮到袁峰先生是78年入學的大學生,今年估計已近60歲,我們可以想象在剩余的職業生涯中,袁峰先生應該會一直從事編程工作。這也就意味著袁峰先生的職業生涯以編程開始,以編程結束,是非常典型的純技術流的程序員:一生中不涉其他,唯有編程。
如果你很仔細的讀過《Windows圖形編程》,你就會對袁峰先生在技術上的造詣佩服的五體投地,無論是深度還是廣度。可惜的是,隨著技術更迭,這本書里講的很大一部分東西已然失去了現實意義,所以大概是買不到了。
這是程序員比較典型的一個出口,其特征是走比較純粹的技術路線,其要點是技術上要能達到一定高度,最終成為頂級程序員。常說的CodeGuru和架構師都可以歸在這一類別下,雖然這兩者間還是有差異。走這條路時最怕陷入平庸,那樣的話高不成低不就,很容易被新入行者超越。一旦成為技術路線上的低值人群,那就有被提前淘汰的風險,同時幾乎必然會轉變成失意者。
2 積累、爆發、開始創業
與袁峰先生成為鮮明對比的是大家很熟悉的求伯君先生,這兩個人雖然八竿子打不著,但參照意義其實很強。
袁峰先生1982年本科畢業,而求伯君先生1984年本科畢業,可以講他們是同齡人。袁峰先生畢業于南京大學,求伯君先生畢業于國防科技大學,可以講兩個人起點、天分估計也差不多,但兩個人走的道路卻完全不一樣。
求伯君先生在1994年前可以說是比較典型的程序員,這段時間里他和袁峰先生非常類似,其中值得寫入軟件開發史冊的事情是幾乎一個人完成了DOS下的WPS。
在這個時間段上,求伯君先生無論在技術上還是產品上應該都是超絕的高手。這點可以從小米CEO雷軍先生的回憶上看出來:
1990年初,我在一個朋友那用了WPS漢卡,當時就被震住了。界面易用美觀,更強的是打印結果可以先模擬顯示出來。署名是香港金山公司求伯君,覺得這個“香港”軟件寫得真好。
1994年求伯君先生創立珠海金山電腦公司,自此人生路徑與袁峰先生開始有絕大分歧。在這之后,求伯君先生更多的是以企業家,而非是程序員的身份出現在大眾面前,直至2011年求伯君先生宣布退休,退出公眾視線。
求伯君先生的履歷昭示了另一種程序員的道路,即以技術和熱情創造輝煌產品,再以產品為創業基石。
IT行業本來就是個智力密集型的行業,想想創造一家水泥公司和軟件公司的差別可以更好的理解IT行業與傳統行業間的這種差異。互聯網、云計算的興起使創業的門檻進一步降低,理論上講只要能做出優秀的產品并找到風險投資,幾乎每個人都可以開始創業。雖然創業并非是這本書主要探討的內容,但在當前的形勢下創業確實也是少部分程序員的一個人生出口。
3 轉向管理之路
由程序員而管理者是一條非常常見的道路,很像是程序世界里的學而優則仕。
現在很多軟件企業中的中級管理人員(包括部門經理、產品經理、項目經理等)里70后、80后比較多,他們大多在2000年之后畢業。
這部分人員中的很大一部分走的是這樣一條道路:在畢業后往往會從事3~5年的編程工作,接下來由于工作表現不錯,同時也具備比較好的表達和溝通能力,于是開始肩負起部分管理工作。一旦開始從事管理工作后,接下來在工作中管理的成分越來越重,和程序的距離越來越遠,已經算不得是純粹的程序員了。從時間開銷的角度看,他們同PPT打交道的時間穩步上升,而直接同編譯器打交道的時間則穩步下降,并有變0的趨向。
這條道路是如此普遍,以至于每個程序員只要往四周一看,就都可以看到這條道路上的人。好奇者可以問問身邊的中層管理人員,看看是不是這樣一個成長故事。
走上這條道路的人需要爬的是另一種梯子,比如從項目經理到技術總監再到CTO。當然每一層的選拔都會卡死相當一部分人。某些前行無路的人往往需要做一個艱難的選擇,要么安全的維持現狀,要么冒點險切換公司。
在很多技術路徑較短,不以技術為核心的公司里,為了收入的提升這往往是一條必走的道路,所以可以講這也是一個比較常見的人生出口。但很多人所認為的“程序員30歲前需要向管理轉行,這碗青春飯沒法持續吃下去”,并不永遠正確,在很多場合下這類選擇反倒相當于自廢武功,使自己管理上沒什么成績,技術又荒廢了,這點會在后面的章節里進一步提到。
4 維持原狀的老碼農
維持原狀的含義是加入程序員隊伍后,工作內涵并無實質性變化,只是體現為一種簡單的重復---這是與第一種程序員不同的關鍵,第一種程序員要不停的有技術上的深化和提高。
這類程序員所做的工作的表象形式會有所不同,比如可能今天做的是處理服裝公司的網頁,明天處理的則可能是化工廠的網頁,但實質上各種工作本質上差別不大,從技術上看,沒有層級差異。
下面走到這條道路上的程序員的常見經歷:姑且把這個程序員成為X,他大學畢業后,加入一家對日外包類公司。接下來他工作的公司和地點就不停的變化。去過蘇州、南京、北京、上海,由于總是不太如意,迫于經濟壓力也曾經到過日本,做過派遣社員,但當無法被派遣出去時,無奈之下就又回到了國內。
在不停的遷移過程中,工作內容變更的比較頻繁,橫跨多個領域,比如:銀行、證券、GPS等。但從層次來看,基本上是在應用層打轉,工作內容也趨于簡單化,基本上是在設計好的文檔指導下做編碼。由于自身能創造的價值沒有顯著突破,作為結果收入、職位基本上改善不多。掙扎10年之后,他很苦惱,因為自己做的事情,畢業生往往也很快就可以做,而生活的壓力卻在不停的隨著年紀的增加而增加。
上述這樣的經歷應該并不特殊,在很多人的身上應該都可以看到類似的人生軌跡。差別只是X可能是公司A,具體到某個人可能是公司B;X可能去的是華東,具體到某個去的可能是華北。這類程序員如果不退場,不升級,那接下來的生命中工作和生活只會以某種模式繼續重復。如果運氣不好,甚至可能會失業。
更可怕的是到一定年紀后,很大一部分這類程序員會發現自己連退場的資格也沒有,因為除了會寫程序,并不會做其他的事情,與此同時房貸、家庭卻成為一種長久的負擔。這個人生出口雖然很讓人嘆息,也沒人愿意選擇,但它確實存在,并且很多人可能一不小心就走到了它的面前。
本書更主要的目的真的不是讓人成為輝煌偉大的人物,我也不認為任何一本書有這樣的能力。本書最主要的目的就是希望能盡可能幫助初入行者不要走到這條道路上來,畢竟一旦走到這條道路上來,人生就過于凄慘了。
5 提前退場、向代碼說再見
對于喜歡閑聊的人,有時候會在閑聊中發現些讓人吃驚的事情。很久以前一個房地產中介在聽說我在軟件公司工作后,告訴我:我也曾經是做軟件的。我很驚訝的問他,怎么就不做了,卻跑來做房產中介,這不是自廢武功么。他回答我:做程序員太累,沒前途。
在那之后,接下來這些年里,身邊斷斷續續總會有人退出程序員這個行業。有的去銷售電子產品,有的去做公務員,去做純黑盒的測試諸如此類。2013年最吸引大家眼球的退場事件是新浪架構師徐佳在奮斗數年后,告別PHP,告別互聯網開始賣水果。
據說徐佳先生因此而煥發了青春,但我個人并不看好這類選擇,也不認為這是一種正確的選擇。提前退場大多時候是對之前選擇的一種否定,從人生整體收益的角度看,大致上是虧了,至少虧掉了做程序員那幾年的時間。
這類事情一旦上升到人生價值的層次上,那就沒有是非,只有個人選擇,所以本書中不從這個視角考慮問題,而主要從功利且現實的角度來考察這類事情。
雖然退場大多時候從投資收益的角度看并不怎么好,往往是無奈下的選擇,但這確實也是程序員群體的一個人生出口---“悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶走一片云彩。”
-
程序員
+關注
關注
4文章
951瀏覽量
29799
發布評論請先 登錄
相關推薦
評論