奧推網

選單
科技

老了就不能程式設計?大齡程式設計師線上“闢謠”:15 年後,我變得更好了

整理 | 鄭麗媛

出品 | 程式人生(ID:coder_life)

幾年前,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