11.27 64歲谷歌老程序員的補丁 vs 35歲中年程序員的焦慮

作者鏈接:https://dwz.cn/A7CL7vkm

不久前,現年 64 歲的 Bill Budge 老爺爺給谷歌 V8 引擎(V8 是 Chromium 項目的 JavaScript 解釋器。如果你現在閱讀本文的工具是基於 Chromium 內核的微信版本,那麼,你可能就在使用 V8)提交了一些補丁。

64歲谷歌老程序員的補丁 vs 35歲中年程序員的焦慮

  64 歲老爺爺的補丁

在最近的一年裡,Bill Budge 在這個項目裡非常活躍:

64歲谷歌老程序員的補丁 vs 35歲中年程序員的焦慮

我不追星,看到有演員拍出好的電影,最多說不錯,不至於去調查這個演員的背景資料。但我還在學校的時候,就是讀著理查德斯托曼和 Linus 的生平小故事開始瞭解開源和 Linux 內核。

所以對 V8 模塊裡面的 Bill Budge 老爺爺,我也沒放過:

這四條如果是不同的人,或許是平常的事情。但是放到了一起,就讓我肅然起敬:

  • 1954 年出生,現年 64 歲;
  • 1980 年參加工作,工作了近 39 年;
  • 加州大學伯克利分校,它的計算機和工程世界排名前幾;
  • 目前在谷歌從事軟件工程師的工作,還在寫代碼。

我見過 70 後的程序員,但是我從來沒見過 64 歲還在寫代碼的程序員。有著高貴的出生,在基礎的軟件領域持續耕耘,勤奮(看看他最近一年給 V8 引擎提交的那些補丁的數量),這麼一個老爺爺,和一堆 70、80、90 後坐在一起,開發和改進了軟件行業最困難的模塊之一 V8 引擎,這是怎樣的境界?

有興趣的可以去領英和維基上搜索這個老爺爺的詳細簡歷。這裡僅僅截取了他的領英主頁,來表達我對他的敬仰:

64歲谷歌老程序員的補丁 vs 35歲中年程序員的焦慮

  焦慮的 35 歲

工作了 39 年的老爺爺,在世界上最偉大的企業裡,充滿激情地寫著代碼,維護世界上最困難的模塊。當然,他肯定會在退休前的幾天繼續寫代碼打補丁,我對此深信不疑。

然而,最近國內出現了很多 35 歲中年程序員焦慮、甚至被裁員的消息。譬如“老闆告訴我,超過 35 歲的簡歷不用看了”,又如“程序員 35 歲之後不轉管理只能混吃等死?” 。從表面看,似乎我們的環境(不討論國企和事業單位)和別人的不一樣,我們的環境是排斥 35 歲以上的程序員的。

但是,是否需要 35 歲以上的程序員,不僅和企業研發的產品的知識密度有關,也和程序員自身的知識密度有關。本文嘗試著從企業的角度和程序員的角度,也就是供求的雙方,來分析這個問題。

  企業的需求和知識的密度

老爺爺所在的 Chromium 團隊,工作了很多年的大有人在(部分名單):

 

64歲谷歌老程序員的補丁 vs 35歲中年程序員的焦慮

除了 2014 年參加工作的 Bence Béky(他是 PHD),其他的工作時間都超過了 10 年。可以看到,老爺爺和他的谷歌 Chromium 團隊,對 35 歲以上的程序員是有需求的,並沒有所謂的年齡界限。

國內的有些企業,譬如華為也很歡迎 35 歲以上的工程師。企業要做到華為這樣的知識密度,光靠人頭和資本不夠,還需要一代一代人的縱向積累。沒有任何理由去相信華為會放棄那些掌握了核心技術的老員工,否則他不可能在知識密集的通信行業做到目前的位置。

關於網上流傳的華為辭退部分 35 歲以上的員工,拋開華為的狼性文化,和生存的艱難等因素,這其實是華為對在職員工的再次雙向選擇(確實也很殘忍,這樣的再次雙向選擇在其他私企和外企也同樣存在)。如果到了這個年紀,技術沒有深厚的積累,也沒有走上管理層,那說明員工積累的技術和經驗不適合這個企業。

因此,老員工真正要思考的不是年齡的問題,而是知識的密度。

但是確實有些企業會在招聘廣告裡明確年齡限制。以前去招聘網站搜索程序員的職位,經常看到年齡要求 35 歲以下。寫本文之前,又去搜索了一次,要求工程師年齡 35 歲以下的職位少很多了。但是還是有年齡限制的,有些放寬到了 45 歲,有些依然堅持要求 35 歲以下:

如果說華為,對 35 歲以上的員工再次應聘,只是為了檢查員工的技術積累是否深厚。那麼,像這樣在招聘需求裡明確寫上要求 35 歲以下的,企業應該思考下自身是否有足夠的知識積累。或者說,有這樣要求的企業,可能是資本密集型的,而不是知識密集型的。在資本密集的企業裡面,程序員的技術積累沒那麼重要,那麼程序員的年齡可能就成了致命傷。

資本和知識的界限其實是模糊的。在一個開放的世界,錢可以買到任何東西,資本的密集和知識的密集很難區分。但是現實世界遠遠沒有這麼開放,這個不開放的世界,給資本和知識圈上了各自的邊界。

我們來看一個資本密集的例子:小米公司。魅族比小米起步早,技術和產品在早期做的也很好,但是沒有建立起足夠的技術壁壘。小米在商業模式和資本方面勝過了魅族,能夠用更優秀的人,所以後來小米獲得了的成功。

但是資本不是萬能的。如果資金非常雄厚,甚至不計成本,還是可以在較短的時間內打造出 BAT 或者小米、摩拜單車滴滴等的。但是再有錢,也很難在短時間內造出蘋果、谷歌、Intel 和高通。一方面是美國對核心技術出口做了限制,用錢很難買到他們的人和技術。另一方面,在基礎技術方面我們落後太多年了,短時間很難趕上。這是美國人在知識上的成功,他們知識上的密度不是我們多加人、多加錢、用幾年時間可以趕上。而是要一代人一代人的接力。

而且,在資本幫助下做出產品佔領市場後,企業和資本都是要逐利的。產品和團隊最終還是會迴歸到知識密集的路線上來,這樣才能保持產品的競爭優勢,也能減少被資本更加雄厚的團隊搶奪領地的機會。

企業之間互相搶佔對方領地的例子很多,前面談到的小米和魅族,以及 BAT 之間:騰訊控股易迅,推出自己的搜索;阿里釘釘;百度也有百度 Hi。財大氣粗的資本們,總是想去攻下別人的領地。BAT 之間互相侵消結果不怎麼明顯,並不是技術本身的差別多大,而是資本最後還是要看收益。再看看去年打得火熱的 ofo 和摩拜單車。ofo 先期產品設計輸了一著,但這不是兩者輸贏的關鍵。在打價格戰的時候,價格決定了消費者的選擇。當然了,摩拜的產品維護成本低,這為他的資本贏得了更多的時間。

企業的產品決定了企業對人才深度和廣度的要求,也影響了企業用人的時候到底有沒有年齡的要求。

如果企業的知識密度很高,譬如前面談到的谷歌和華為,對人的需求其實不會加上年齡限制的。有些企業的工程師團隊過分年輕化,其背後的本質是,這些高科技軟件互聯網企業,是資本密集型的,企業的知識密度較低,其核心 IP 的科技含量不高。這時候焦慮的應該是企業,企業應該思考為什麼我只要 35 歲以下的員工,是不是我們的技術壁壘不夠?沒有足夠的技術壁壘,如果有人拿錢砸我,我該怎麼辦?

BAT 都是大公司,大公司之間是如此頻繁地試圖侵入對方的領地,被侵入的也在不遺餘力地利用資本和壟斷地位的暫時優勢來提高自己的知識密度,加強自己的護城河。所以那些只要 35 歲以下員工的中小公司,也需要思考下,該如何挖深拓寬自己的知識護城河。否則很難面對同行的技術競爭,更難以應對大資本使勁砸錢。

  每個程序員都有不一樣的十年

在我小時候,如果說一個木匠做木工很多年了,我們會很自然地認為這個木匠做的東西很好。現在,我們要是說,這個程序員寫代碼好多年了,是不是差不多就等於變相的貶低人?這差不多就等於說,你看他工作了十多年還是程序員。自古以來,對於工匠,我們都認為老的就是好的。老的有經驗,做出的活計好。那為什麼現在,老的程序員反倒不怎麼吃香呢?如前面的招聘廣告,就要求 35 歲以下的程序員。

程序員和企業,是供給和需求的關係。前文從企業的角度分析了為什麼有些企業只有 35 歲以下的需求,下面我們從供給,也就是程序員的角度來看這個問題。

前面談到,企業知識的密度決定了企業要不要 35 歲以上的程序員。撇開那些知識密度不高的企業不談,就是華為這種知識密度較高的企業,也會選擇性的讓一些 35 歲以上的工程師離職。這個時候,問題就不僅僅出現在企業本身了(不考慮做了管理或者創業的情況)。

一個原因是,35 歲的我們,所積累知識的深度和廣度都不夠,因而失去了性價比。35 歲的我們,把知識密集的腦力勞動,漸漸做成了機械的缺少創造性和深度思考的體力勞動。

腦力勞動做成了體力勞動,是技術的快速更新換代、以及社會,個人浮躁造成的。以 2007 年到 2018 年,一個大概的十年來看,這個行業經歷了很多熱點:

  • 新的移動計算平臺:IOS,Android,Chrome、HTML5;
  • 雲計算, IOT;
  • 新的編程語言,編程框架;
  • VR,AR,AI。

在這個十年裡面,有的人可能把所有主流的操作系統都嘗試了一遍(被動的或者主動的,譬如我就被動地把 Android、Windows、IOS 的 HelloWorld 都寫了一遍);有人做全棧,將網站的後臺和前端都學了;也有人把熱門的語言和框架都學習了一遍;還有人可能硬件、軟件、管理之間換來換去。一個技術切換很頻繁、積累不是很深厚的程序員,在企業看來十年工作經驗和兩三年的差別不會很大的(不排除少數非常有天分,能夠把所有主流的技術都學會的程序員。本文討論的是更一般的情況)。所以在這個時候,企業當然優先選擇經驗少一些但是更具有性價比的程序員。

時代總是在變化的。有些熱點,譬如 WebOS、裸眼 3D 都漸漸散去了,VR、AI 也經歷過低潮高潮。有些卻始終吸引著人們前進,譬如操作系統雖然從 Windows/Linux 變成了 Windows/Linux/IOS/Android,這些系統在這十年裡面也都經歷了好多次的版本更新,但是一些基本的東西並沒有被徹底顛覆,顛覆的,往往是用戶體驗和軟件架構。

少數醉心於技術本身的人,能夠堅守一些相對長期的大的技術方向,看透新舊技術背後的算法和數學物理原理,做到新舊技術融會貫通。因而在每次新技術出現之後,他的知識的密度更高了。

  結語

目前 AI 技術這麼熱門,我身邊的很多人都開始把注意力轉到 AI。這個時候,你是選擇把原來技術的新舊版本融匯貫通,還是跟著歷史的車輪投入 AI 陣營?

當我們工作 39 年後,是否還有機會像這個老爺爺一樣,滿懷激情,給某個著名的、影響深遠的項目提交一個老爺爺補丁? 還是像我家裡那位說的,以後看到年邁的看門老大爺,還帶點禿頭的,有點焦慮的,可能就是曾經的程序員?

後記:

其實我不喜歡這種過於直白的標題。譬如 Gone with the wind,翻譯成飄就很有意境。翻譯成亂世佳人,能揭露小說的主題,但是淡而無味。如果考慮市場的需要,應該叫亂世少婦和她的三老公。還有邊城,如果叫船家少女的愛情故事,那就知道了故事大概,也很吸睛。這些偉大的作品都堅持了他們富有詩意的名字。但是我的這個短文不能像這些偉大的作品一樣。這個短文不過是一個快速消費品,要屈從於市場吸睛的需要。

我自己是一名從事了多年開發的前端老程序員,今年我花了三個月整理了一份最適合今年學習的前端學習乾貨,從最基礎到高級的各種框架都有整理,送給每一位前端小夥伴,想要獲取的可以關注我的頭條號並在後臺私信我:前端,即可免費獲取。


分享到:


相關文章: