大齡程序員的未來何去何從
我每天還在寫代碼,與人討論技術(shù)實(shí)現(xiàn)細(xì)節(jié),35 歲那年,我寫的 Moco 拿了 Oracle 的 Duke 選擇獎(jiǎng)。
思維誤區(qū)
我還沒開始工作的時(shí)候,有人就在說:程序員能做到 30 歲嗎?我快到 30 歲時(shí),有人在問:35 歲還能做程序員嗎?過了 35 之后,我已經(jīng)看到了新的討論:40 歲程序員怎么辦?估計(jì) 10 年之后,新的討論會是:程序員 50 歲以后的職業(yè)發(fā)展是什么樣子的。
這反映了一個(gè)重要的事實(shí),程序員是中國的一個(gè)新興職業(yè),發(fā)展時(shí)間還不夠長。當(dāng)時(shí)間逐漸拉長,越來越多大齡程序員就會出現(xiàn)。
寫代碼和做管理
如果你熱愛寫代碼,那就去寫。但是,這里必須知道一個(gè)前提,寫代碼和寫代碼是不一樣的。
以現(xiàn)在的普遍情況看,20 多歲的程序員大多屬于初出茅廬,寫代碼大多是以完成功能為主,而到了 30 多歲,寫程序大約十年左右,需要考慮的方方面面必然要更多,比如,這個(gè)需求是否合理,從架構(gòu)層面會造成什么樣的影響,是否能找到更簡潔的解決方案,這個(gè)代碼寫出來別人是否容易理解等等。
30 歲之后,精力會下降,這是生理決定的,如果這時(shí)候還和年輕人比拼堆代碼的速度,靠加班熬夜,那必然是輸了。而且,這種做法始終在低水平徘徊,自己做時(shí)間長了也會心生厭倦,所以,這不是一個(gè)可持續(xù)的模式。
很多人想 30 歲就做管理,可是,哪有那么多人讓你管理?。槭裁粗坝心敲炊嗌倌甑弥镜墓适??還是前面的那個(gè)邏輯,之前做的人少,所以,機(jī)會多?,F(xiàn)在 IT 行業(yè)的人才積累已經(jīng)達(dá)到了相當(dāng)?shù)囊?guī)模,機(jī)會就會減少。當(dāng)然,投身創(chuàng)業(yè)公司是另外一個(gè)選擇,但前提是這個(gè)創(chuàng)業(yè)公司能做起來。不過,即便是有機(jī)會,為什么是你?
不管做什么,自己有本事才是前提。
成長之路
以我個(gè)人的成長經(jīng)驗(yàn)來看,不斷地和更高水平的人過招,是保證成長的前提。
初入職場,我也以為自己的成長路徑會是寫幾年程序,然后,做管理。很幸運(yùn)的是,在職業(yè)生涯之初,我遇到一個(gè)水平很高的人,他讓我看到了一種心生向往的狀態(tài),于是,我就下定決心,成為一個(gè)優(yōu)秀的程序員。更為幸運(yùn)的是,我們倆成了很好的朋友,十幾年下來,每當(dāng)我進(jìn)步了一些,他卻又在我前面更遠(yuǎn)的地方。雖然我們做的領(lǐng)域截然不同,但從他身上得到的啟發(fā)卻一直激勵(lì)我前進(jìn),比如,看到了他做的一個(gè)東西,我便下定決心有一個(gè)自己的代表作,這就是后來的 Moco。如今,他年近 40,依然是各大公司爭相高薪邀請的人,而我知道,有他在前面奔跑,我就不能停下來。
加入 ThoughtWorks 的選擇,也是為了與高手過招。2007 年加入時(shí),那里匯聚了當(dāng)時(shí)我聽說過的許多牛人,后來,還有機(jī)會和 Martin Fowler 這樣的大師請教問題。在 ThoughtWorks 工作的八年,讓我打開了自己的眼界,能夠更加虛心地向更多高手學(xué)習(xí),得到了個(gè)人全方位的綜合提高。
就發(fā)展而言,如果身邊沒有高手怎么辦?那就去找一個(gè)能和高手近距離過招的地方。
不過,這里說的并不等價(jià)于大公司。大公司里固然有很多高手,但問題是你有多少機(jī)會和這些人一起工作。比如,我們知道 Jeff Dean 很厲害,但加入 Google 就能和他一起工作嗎?所以,比起在哪里工作,和什么樣的人在一起工作會更重要。
從正常選擇公司的方式來說,面試是一個(gè)了解公司、了解團(tuán)隊(duì)的機(jī)會。如果負(fù)責(zé)招聘的人會和你一起工作,那就可以好好考察一番。如果不是,那一定要嘗試見見團(tuán)隊(duì),最重要的是,見見團(tuán)隊(duì)里的高手。如果這個(gè)高手的狀態(tài)不能讓你羨慕,那他就不是你的目標(biāo)。
當(dāng)然,有了高手,如何成長,那就是每個(gè)人自己的事情了。