大齡程式設計師

Websites發表於2015-09-14


要是寫程式碼寫到三十歲沒升到管理怎麼辦啊?

我每天還在寫程式碼,與人討論技術實現細節,35 歲那年,我寫的 Moco 拿了 Oracle 的 Duke 選擇獎。

思維誤區

  我還沒開始工作的時候,有人就在說:程式設計師能做到 30 歲嗎?我快到 30 歲時,有人在問:35 歲還能做程式設計師嗎?過了 35 之後,我已經看到了新的討論:40 歲程式設計師怎麼辦?估計 10 年之後,新的討論會是:程式設計師 50 歲以後的職業發展是什麼樣子的。

這反映了一個重要的事實,程式設計師是中國的一個新興職業,發展時間還不夠長。當時間逐漸拉長,越來越多大齡程式設計師就會出現。

寫程式碼和做管理

如果你熱愛寫程式碼,那就去寫。但是,這裡必須知道一個前提,寫程式碼和寫程式碼是不一樣的。

以現在的普遍情況看,20 多歲的程式設計師大多屬於初出茅廬,寫程式碼大多是以完成功能為主,而到了 30 多歲,寫程式大約十年左右,需要考慮的方方面面必然要更多,比如,這個需求是否合理,從架構層面會造成什麼樣的影響,是否能找到更簡潔的解決方案,這個程式碼寫出來別人是否容易理解等等。

30 歲之後,精力會下降,這是生理決定的,如果這時候還和年輕人比拼堆程式碼的速度,靠加班熬夜,那必然是輸了。而且,這種做法始終在低水平徘徊,自己做時間長了也會心生厭倦,所以,這不是一個可持續的模式。

很多人想 30 歲就做管理,可是,哪有那麼多人讓你管理啊!為什麼之前有那麼多少年得志的故事?還是前面的那個邏輯,之前做的人少,所以,機會多。現在 IT 行業的人才積累已經達到了相當的規模,機會就會減少。當然,投身創業公司是另外一個選擇,但前提是這個創業公司能做起來。不過,即便是有機會,為什麼是你?

不管做什麼,自己有本事才是前提。

成長之路

以我個人的成長經驗來看,不斷地和更高水平的人過招,是保證成長的前提。

初入職場,我也以為自己的成長路徑會是寫幾年程式,然後,做管理。很幸運的是,在職業生涯之初,我遇到一個水平很高的人,他讓我看到了一種心生嚮往的狀態,於是,我就下定決心,成為一個優秀的程式設計師。更為幸運的是,我們倆成了很好的朋友,十幾年下來,每當我進步了一些,他卻又在我前面更遠的地方。雖然我們做的領域截然不同,但從他身上得到的啟發卻一直激勵我前進,比如,看到了他做的一個東西,我便下定決心有一個自己的代表作,這就是後來的 Moco。如今,他年近 40,依然是各大公司爭相高薪邀請的人,而我知道,有他在前面奔跑,我就不能停下來。

加入 ThoughtWorks 的選擇,也是為了與高手過招。2007 年加入時,那裡匯聚了當時我聽說過的許多牛人,後來,還有機會和 Martin Fowler 這樣的大師請教問題。在 ThoughtWorks 工作的八年,讓我開啟了自己的眼界,能夠更加虛心地向更多高手學習,得到了個人全方位的綜合提高。

就發展而言,如果身邊沒有高手怎麼辦?那就去找一個能和高手近距離過招的地方。

不過,這裡說的並不等價於大公司。大公司裡固然有很多高手,但問題是你有多少機會和這些人一起工作。比如,我們知道 Jeff Dean 很厲害,但加入 Google 就能和他一起工作嗎?所以,比起在哪裡工作,和什麼樣的人在一起工作會更重要。

從正常選擇公司的方式來說,面試是一個瞭解公司、瞭解團隊的機會。如果負責招聘的人會和你一起工作,那就可以好好考察一番。如果不是,那一定要嘗試見見團隊,最重要的是,見見團隊裡的高手。如果這個高手的狀態不能讓你羨慕,那他就不是你的目標。

當然,有了高手,如何成長,那就是每個人自己的事情了。



相關文章