64歲谷歌老程序員的補(bǔ)丁 vs 35歲中年程序員的焦慮
不久前,現(xiàn)年 64 歲的 Bill Budge 老爺爺給谷歌 V8 引擎(V8 是 Chromium 項(xiàng)目的 JavaScript 解釋器。如果你現(xiàn)在閱讀本文的工具是基于 Chromium 內(nèi)核的微信版本,那么,你可能就在使用 V8)提交了一些補(bǔ)丁。
64 歲老爺爺?shù)难a(bǔ)丁
在最近的一年里,Bill Budge 在這個(gè)項(xiàng)目里非?;钴S:
我不追星,看到有演員拍出好的電影,最多說不錯(cuò),不至于去調(diào)查這個(gè)演員的背景資料。但我還在學(xué)校的時(shí)候,就是讀著理查德斯托曼和 Linus 的生平小故事開始了解開源和 Linux 內(nèi)核。
所以對 V8 模塊里面的 Bill Budge 老爺爺,我也沒放過:
目前在谷歌從事軟件工程師的工作,還在寫代碼。
我見過 70 后的程序員,但是我從來沒見過 64 歲還在寫代碼的程序員。有著高貴的出生,在基礎(chǔ)的軟件領(lǐng)域持續(xù)耕耘,勤奮(看看他最近一年給 V8 引擎提交的那些補(bǔ)丁的數(shù)量),這么一個(gè)老爺爺,和一堆 70、80、90 后坐在一起,開發(fā)和改進(jìn)了軟件行業(yè)最困難的模塊之一 V8 引擎,這是怎樣的境界?
有興趣的可以去領(lǐng)英和維基上搜索這個(gè)老爺爺?shù)脑敿?xì)簡歷。這里僅僅截取了他的領(lǐng)英主頁,來表達(dá)我對他的敬仰:
焦慮的 35 歲
工作了 39 年的老爺爺,在世界上最偉大的企業(yè)里,充滿激情地寫著代碼,維護(hù)世界上最困難的模塊。當(dāng)然,他肯定會(huì)在退休前的幾天繼續(xù)寫代碼打補(bǔ)丁,我對此深信不疑。
然而,最近國內(nèi)出現(xiàn)了很多 35 歲中年程序員焦慮、甚至被裁員的消息。譬如“老板告訴我,超過 35 歲的簡歷不用看了”,又如“程序員 35 歲之后不轉(zhuǎn)管理只能混吃等死?” 。從表面看,似乎我們的環(huán)境(不討論國企和事業(yè)單位)和別人的不一樣,我們的環(huán)境是排斥 35 歲以上的程序員的。
但是,是否需要 35 歲以上的程序員,不僅和企業(yè)研發(fā)的產(chǎn)品的知識密度有關(guān),也和程序員自身的知識密度有關(guān)。本文嘗試著從企業(yè)的角度和程序員的角度,也就是供求的雙方,來分析這個(gè)問題。
企業(yè)的需求和知識的密度
老爺爺所在的 Chromium 團(tuán)隊(duì),工作了很多年的大有人在(部分名單):
除了 2014 年參加工作的 Bence Béky(他是 PHD),其他的工作時(shí)間都超過了 10 年??梢钥吹剑蠣敔敽退墓雀?Chromium 團(tuán)隊(duì),對 35 歲以上的程序員是有需求的,并沒有所謂的年齡界限。
國內(nèi)的有些企業(yè),譬如華為也很歡迎 35 歲以上的工程師。企業(yè)要做到華為這樣的知識密度,光靠人頭和資本不夠,還需要一代一代人的縱向積累。沒有任何理由去相信華為會(huì)放棄那些掌握了核心技術(shù)的老員工,否則他不可能在知識密集的通信行業(yè)做到目前的位置。
關(guān)于網(wǎng)上流傳的華為辭退部分 35 歲以上的員工,拋開華為的狼性文化,和生存的艱難等因素,這其實(shí)是華為對在職員工的再次雙向選擇(確實(shí)也很殘忍,這樣的再次雙向選擇在其他私企和外企也同樣存在)。如果到了這個(gè)年紀(jì),技術(shù)沒有深厚的積累,也沒有走上管理層,那說明員工積累的技術(shù)和經(jīng)驗(yàn)不適合這個(gè)企業(yè)。
因此,老員工真正要思考的不是年齡的問題,而是知識的密度。
但是確實(shí)有些企業(yè)會(huì)在招聘廣告里明確年齡限制。以前去招聘網(wǎng)站搜索程序員的職位,經(jīng)??吹侥挲g要求 35 歲以下。寫本文之前,又去搜索了一次,要求工程師年齡 35 歲以下的職位少很多了。但是還是有年齡限制的,有些放寬到了 45 歲,有些依然堅(jiān)持要求 35 歲以下:
如果說華為,對 35 歲以上的員工再次應(yīng)聘,只是為了檢查員工的技術(shù)積累是否深厚。那么,像這樣在招聘需求里明確寫上要求 35 歲以下的,企業(yè)應(yīng)該思考下自身是否有足夠的知識積累?;蛘哒f,有這樣要求的企業(yè),可能是資本密集型的,而不是知識密集型的。在資本密集的企業(yè)里面,程序員的技術(shù)積累沒那么重要,那么程序員的年齡可能就成了致命傷。
資本和知識的界限其實(shí)是模糊的。在一個(gè)開放的世界,錢可以買到任何東西,資本的密集和知識的密集很難區(qū)分。但是現(xiàn)實(shí)世界遠(yuǎn)遠(yuǎn)沒有這么開放,這個(gè)不開放的世界,給資本和知識圈上了各自的邊界。
我們來看一個(gè)資本密集的例子:小米公司。魅族比小米起步早,技術(shù)和產(chǎn)品在早期做的也很好,但是沒有建立起足夠的技術(shù)壁壘。小米在商業(yè)模式和資本方面勝過了魅族,能夠用更優(yōu)秀的人,所以后來小米獲得了的成功。
但是資本不是萬能的。如果資金非常雄厚,甚至不計(jì)成本,還是可以在較短的時(shí)間內(nèi)打造出 BAT 或者小米、摩拜單車滴滴等的。但是再有錢,也很難在短時(shí)間內(nèi)造出蘋果、谷歌、Intel 和高通。一方面是美國對核心技術(shù)出口做了限制,用錢很難買到他們的人和技術(shù)。另一方面,在基礎(chǔ)技術(shù)方面我們落后太多年了,短時(shí)間很難趕上。這是美國人在知識上的成功,他們知識上的密度不是我們多加人、多加錢、用幾年時(shí)間可以趕上。而是要一代人一代人的接力。
而且,在資本幫助下做出產(chǎn)品占領(lǐng)市場后,企業(yè)和資本都是要逐利的。產(chǎn)品和團(tuán)隊(duì)最終還是會(huì)回歸到知識密集的路線上來,這樣才能保持產(chǎn)品的競爭優(yōu)勢,也能減少被資本更加雄厚的團(tuán)隊(duì)搶奪領(lǐng)地的機(jī)會(huì)。
企業(yè)之間互相搶占對方領(lǐng)地的例子很多,前面談到的小米和魅族,以及 BAT 之間:騰訊控股易迅,推出自己的搜索;阿里釘釘;百度也有百度 Hi。財(cái)大氣粗的資本們,總是想去攻下別人的領(lǐng)地。BAT 之間互相侵消結(jié)果不怎么明顯,并不是技術(shù)本身的差別多大,而是資本最后還是要看收益。再看看去年打得火熱的 ofo 和摩拜單車。ofo 先期產(chǎn)品設(shè)計(jì)輸了一著,但這不是兩者輸贏的關(guān)鍵。在打價(jià)格戰(zhàn)的時(shí)候,價(jià)格決定了消費(fèi)者的選擇。當(dāng)然了,摩拜的產(chǎn)品維護(hù)成本低,這為他的資本贏得了更多的時(shí)間。
企業(yè)的產(chǎn)品決定了企業(yè)對人才深度和廣度的要求,也影響了企業(yè)用人的時(shí)候到底有沒有年齡的要求。
如果企業(yè)的知識密度很高,譬如前面談到的谷歌和華為,對人的需求其實(shí)不會(huì)加上年齡限制的。有些企業(yè)的工程師團(tuán)隊(duì)過分年輕化,其背后的本質(zhì)是,這些高科技軟件互聯(lián)網(wǎng)企業(yè),是資本密集型的,企業(yè)的知識密度較低,其核心 IP 的科技含量不高。這時(shí)候焦慮的應(yīng)該是企業(yè),企業(yè)應(yīng)該思考為什么我只要 35 歲以下的員工,是不是我們的技術(shù)壁壘不夠?沒有足夠的技術(shù)壁壘,如果有人拿錢砸我,我該怎么辦?
BAT 都是大公司,大公司之間是如此頻繁地試圖侵入對方的領(lǐng)地,被侵入的也在不遺余力地利用資本和壟斷地位的暫時(shí)優(yōu)勢來提高自己的知識密度,加強(qiáng)自己的護(hù)城河。所以那些只要 35 歲以下員工的中小公司,也需要思考下,該如何挖深拓寬自己的知識護(hù)城河。否則很難面對同行的技術(shù)競爭,更難以應(yīng)對大資本使勁砸錢。
每個(gè)程序員都有不一樣的十年
在我小時(shí)候,如果說一個(gè)木匠做木工很多年了,我們會(huì)很自然地認(rèn)為這個(gè)木匠做的東西很好?,F(xiàn)在,我們要是說,這個(gè)程序員寫代碼好多年了,是不是差不多就等于變相的貶低人?這差不多就等于說,你看他工作了十多年還是程序員。自古以來,對于工匠,我們都認(rèn)為老的就是好的。老的有經(jīng)驗(yàn),做出的活計(jì)好。那為什么現(xiàn)在,老的程序員反倒不怎么吃香呢?如前面的招聘廣告,就要求 35 歲以下的程序員。
程序員和企業(yè),是供給和需求的關(guān)系。前文從企業(yè)的角度分析了為什么有些企業(yè)只有 35 歲以下的需求,下面我們從供給,也就是程序員的角度來看這個(gè)問題。
前面談到,企業(yè)知識的密度決定了企業(yè)要不要 35 歲以上的程序員。撇開那些知識密度不高的企業(yè)不談,就是華為這種知識密度較高的企業(yè),也會(huì)選擇性的讓一些 35 歲以上的工程師離職。這個(gè)時(shí)候,問題就不僅僅出現(xiàn)在企業(yè)本身了(不考慮做了管理或者創(chuàng)業(yè)的情況)。
一個(gè)原因是,35 歲的我們,所積累知識的深度和廣度都不夠,因而失去了性價(jià)比。35 歲的我們,把知識密集的腦力勞動(dòng),漸漸做成了機(jī)械的缺少創(chuàng)造性和深度思考的體力勞動(dòng)。
腦力勞動(dòng)做成了體力勞動(dòng),是技術(shù)的快速更新?lián)Q代、以及社會(huì),個(gè)人浮躁造成的。以 2007 年到 2018 年,一個(gè)大概的十年來看,這個(gè)行業(yè)經(jīng)歷了很多熱點(diǎn):
- 新的移動(dòng)計(jì)算平臺(tái):IOS,Android,Chrome、HTML5;
- 云計(jì)算, IOT;
- 新的編程語言,編程框架;
- VR,AR,AI。
在這個(gè)十年里面,有的人可能把所有主流的操作系統(tǒng)都嘗試了一遍(被動(dòng)的或者主動(dòng)的,譬如我就被動(dòng)地把 Android、Windows、IOS 的 HelloWorld 都寫了一遍);有人做全棧,將網(wǎng)站的后臺(tái)和前端都學(xué)了;也有人把熱門的語言和框架都學(xué)習(xí)了一遍;還有人可能硬件、軟件、管理之間換來換去。一個(gè)技術(shù)切換很頻繁、積累不是很深厚的程序員,在企業(yè)看來十年工作經(jīng)驗(yàn)和兩三年的差別不會(huì)很大的(不排除少數(shù)非常有天分,能夠把所有主流的技術(shù)都學(xué)會(huì)的程序員。本文討論的是更一般的情況)。所以在這個(gè)時(shí)候,企業(yè)當(dāng)然優(yōu)先選擇經(jīng)驗(yàn)少一些但是更具有性價(jià)比的程序員。
時(shí)代總是在變化的。有些熱點(diǎn),譬如 WebOS、裸眼 3D 都漸漸散去了,VR、AI 也經(jīng)歷過低潮高潮。有些卻始終吸引著人們前進(jìn),譬如操作系統(tǒng)雖然從 Windows/Linux 變成了 Windows/Linux/IOS/Android,這些系統(tǒng)在這十年里面也都經(jīng)歷了好多次的版本更新,但是一些基本的東西并沒有被徹底顛覆,顛覆的,往往是用戶體驗(yàn)和軟件架構(gòu)。
少數(shù)醉心于技術(shù)本身的人,能夠堅(jiān)守一些相對長期的大的技術(shù)方向,看透新舊技術(shù)背后的算法和數(shù)學(xué)物理原理,做到新舊技術(shù)融會(huì)貫通。因而在每次新技術(shù)出現(xiàn)之后,他的知識的密度更高了。
結(jié)語
目前 AI 技術(shù)這么熱門,我身邊的很多人都開始把注意力轉(zhuǎn)到 AI。這個(gè)時(shí)候,你是選擇把原來技術(shù)的新舊版本融匯貫通,還是跟著歷史的車輪投入 AI 陣營?
當(dāng)我們工作 39 年后,是否還有機(jī)會(huì)像這個(gè)老爺爺一樣,滿懷激情,給某個(gè)著名的、影響深遠(yuǎn)的項(xiàng)目提交一個(gè)老爺爺補(bǔ)丁? 還是像我家里那位說的,以后看到年邁的看門老大爺,還帶點(diǎn)禿頭的,有點(diǎn)焦慮的,可能就是曾經(jīng)的程序員?
后記:
其實(shí)我不喜歡這種過于直白的標(biāo)題。譬如 Gone with the wind,翻譯成飄就很有意境。翻譯成亂世佳人,能揭露小說的主題,但是淡而無味。如果考慮市場的需要,應(yīng)該叫亂世少婦和她的三老公。還有邊城,如果叫船家少女的愛情故事,那就知道了故事大概,也很吸睛。這些偉大的作品都堅(jiān)持了他們富有詩意的名字。但是我的這個(gè)短文不能像這些偉大的作品一樣,隨性的取個(gè)碼農(nóng)田園風(fēng)的名字:老爺爺?shù)难a(bǔ)丁。這個(gè)短文不過是一個(gè)快速消費(fèi)品,要屈從于市場吸睛的需要。
作者:徐星,2007 年碩士畢業(yè)于武漢大學(xué),參加工作的十年專注在圖形系統(tǒng)架構(gòu)方面的研究?,F(xiàn)供職于某半導(dǎo)體公司,從事開源項(xiàng)目 Chromium 的基礎(chǔ)圖形系統(tǒng)的研究。