整理 | 鄭麗媛
幾年前,Quora 上的一個提問在程序員圈內掀起熱議:
“隨著年齡的增長,人們會對編程失去興趣嗎?預計大齡程序員的速度會變慢、更容易犯錯,寧愿做其他事情(如管理崗等),這是否準確?”
由這個問題所衍生出來的,是各種“35 歲危機”、“堅持技術崗 vs. 轉為管理崗”等程序員群體尤為關注的話題。許多年輕程序員認為,未來年紀大了體力和精力跟不上,沒法跟上日新月異的技術發展必然會被淘汰,轉為管理崗或許是最體面的選擇。
但事實是怎樣的呢?近來 Jorge Manrubia 撰寫的一篇文章《當程序員老了》在 HN 熱議榜上引發關注——在這篇文章中,Jorge Manrubia 分享了他作為一名 40 歲程序員的回顧與反思。

當程序員老了
以下為《當程序員老了》的譯文內容:
在大學時很多人都跟我說,我的職業生涯將從編寫代碼開始,但最終,我還是會變成一個讓別人為我編碼的職位,也就是管理崗——事實證明,這個想法完全錯誤。
如今的我已經 40 歲,回頭看看這十幾年的編程生涯,有些經驗想要與你分享:
-
與年輕時相比,我覺得目前我處于最佳狀態。當然,學習最新技術會有所幫助,但積攢多年的編程經驗和工作經驗更為重要。我認為我比 15 年前好得多,同時也希望 15 年后能更好,這種不斷學習的感覺對我來說就是我的工作世界。
-
與可以學習的人一起工作是一個很好的動力來源。
-
我有很多缺點,但現在我更了解自己和它們的影響,所以至少我可以嘗試著克服它們。
-
我對于作為管理人的欲望處于歷史最低點。
-
我渴望與人討論技術問題,無論是幫助還是被幫助,都達到了歷史最高點。
-
我對吞吐量預測得更準確。
-
我曾對工作場所的語氣和舉止都非常敏感,現在仍然如此。
-
我學會了給自己一個重新考慮技術戰的機會。以前,我會跟他們所有人奮戰到最后;現在,當感覺不對或沒什么興趣時,我很樂意提前改變方向。
-
以前,我不會花費時間考慮時間、范圍和興趣;現在,我很少做那些無關決策的事情。
-
我不喜歡老是切換手頭的事情,我理想中的工作狀態是幾天都專注于一個任務。
-
有效溝通是一項復雜的技能,需要多年磨練才能進步,如果你想做專業的編程,這是一項必不可少的技能。
-
我在部署事情時更加謹慎。
-
我不知道結對編程的效果如何,我也沒興趣了解。
-
同樣,我也不會討論讓人們共同解決問題的好處,因為我也不是很感興趣。
-
我喜歡接受挑戰,喜歡那種一開始不知道如何解決問題的感覺。
-
我自認我是一個“多面手”。不過做太多基礎設施工作,我就會錯過產品開發;做太多后端,我就會想念前端。這自然有利有弊,但我對此是接受的,我不理解為什么有人會鄙視“全棧”這個詞。
-
我遠程工作了近 10 年,如今應該不可能重返辦公室。
-
我開始認為問責制是一項基本福利。我的職業生涯始于一個沒什么人關心的工作內容,但我需要完全相反的環境來保持自己的動力。
-
我現在對編程領域的任何熱門新事物都持懷疑態度,因為我認為這可能是一把雙刃劍——年輕時的我則完全相反。
-
Gerald Weinberg 說過:“無論問題最初看起來怎樣,它始終是人的問題。”這句話本質上是正確的,在技術人看來也是非常真實的。
越挫越勇的大齡程序員
從 Jorge Manrubia 的分享來看,作為程序員來說,40 歲的他非常滿足目前的狀態——比年輕時更有經驗,更謹慎周全,也更清晰果決。
程序員的年齡一直都是一個極具爭議的話題,隨著越來越多有關程序員中年危機的報道,人們會先入為主地認為:“程序員就是吃青春飯的。”因此,Jorge Manrubia 這篇難得為大齡程序員發聲的文章引起了許多人的共鳴,我們也能聽見更多聲音。
擁有 25 年游戲編程經驗的 Jeff Kesselman:
只有兩種人會對“對編程失去興趣”。
(1) 一開始就對編程不感興趣,只認為這是一個賺錢的職業。
(2) 被迫一遍又一遍地解決相同問題的人。
只要在工作能持續接觸到新的挑戰和新的學習內容,就不會感到無聊。
一些年輕和不成熟的程序員有時對此可能會有誤解,但要知道:隨著程序員的水平進步,他們花在編寫代碼上的時間會減少,但花在思考問題上的時間會增多——他們學會了,要用更少的汗水和淚水得到相同或更好的結果。
自 1964 年以來就一直是一名程序員的 Robert Martin:
今年我 60 多歲了,但我對編程并沒有失去興趣,依舊喜歡編寫代碼。我不再像以前那樣寫那么多代碼,主要因為我忙于講課、寫書、寫博客、制作視頻,以及輔導孫子孫女等,不過我仍然會抽空花費大量時間編碼。
我沒有發現我的認知或記憶發生了變化。我仍可以理解系統,我的腦海中也仍能建立所有的聯系、理解所有的細節,并且很享受這些過程。
硬要說的話,我發現我的耐力已經減弱了。我曾經每天能夠編碼超過 8 小時,但現在我大約只做 6 小時。不過反過來說,在這 6 個小時內我完成的工作量比我以前在超過 8 小時中完成的要多得多。
從事編程超過 40 年的 Tim Daly:
我從事編程已經 40 年了,正處于職業生涯的巔峰。我正在開發 iPad 和 Android 應用,并且是 3 個開源項目的主要開發者。從大學開始,我幾乎每天都在編程。
我遇到過更好的程序員,遇到過更快的程序員等等,但目前我是我知道的最老的程序員(我相信肯定還有其他人)——我發現,年齡越大,我就變得越優秀。我知道的越多,就越不會犯糟糕的設計錯誤或低級錯誤。我學會通過自我反省來尋找是什么導致了我的錯誤(我所有的錯誤中有 50% 都是復制/粘貼,所以我不再這樣做了)。簡而言之,我一生都在努力提高我的編程技能。
因此,我的編程速度更快,犯的錯誤更少(包括設計和編碼),努力學習最新的技術,并且每天都在寫代碼。
某種程度上來說,人們認為年輕程序員更吃香的原因之一是,現實中大齡程序員的數量太少了。
但其實伴隨著各行各業對程序員需求的急劇上升,我們或許也可以理解為:堅持編程的大齡程序員自然無法憑空增長,年輕程序員的數量卻在不斷增加——在此趨勢下,大齡程序員的數量自然處于劣勢。
不要質疑,總會有那么一些程序員,他們對編程的熱愛并不會隨著時間流逝,不論年輕或年長,始終保持著最初的熱情和夢想,默默打破人們對他們的偏見與枷鎖。
參考鏈接:
-
https://world.hey.com/jorge/aging-programmer-d448bdec
-
https://www.quora.com/Do-people-lose-interest-in-programming-as-they-age-Is-it-accurate-to-expect-that-older-programmers-are-slower-make-more-mistakes-and-would-rather-be-doing-something-else-such-as-managing-programmers
-
https://news.ycombinator.com/item?id=32961933