程式設計師生存定律--程式人生的出口

edithfang發表於2014-06-09

很多人非常想知道自己的未來是什麼樣子的,迫切到一定程度甚至會找算命先生。如果並不是想得到一個精確結果,這事兒其實並沒有想的那麼難。程式設計師的人生看起來五花八門,可以是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,告別網際網路開始賣水果。

據說徐佳先生因此而煥發了青春,但我個人並不看好這類選擇,也不認為這是一種正確的選擇。提前退場大多時候是對之前選擇的一種否定,從人生整體收益的角度看,大致上是虧了,至少虧掉了做程式設計師那幾年的時間。

這類事情一旦上升到人生價值的層次上,那就沒有是非,只有個人選擇,所以本書中不從這個視角考慮問題,而主要從功利且現實的角度來考察這類事情。

雖然退場大多時候從投資收益的角度看並不怎麼好,往往是無奈下的選擇,但這確實也是程式設計師群體的一個人生出口---“悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶走一片雲彩。”

本文轉載自:http://blog.csdn.net/leezy_2000/article/details/28466783

相關閱讀
評論(2)

相關文章