關於年長程式設計師的5個誤傳
最近我剛過完 40 歲生日,一個朋友向我開玩笑地說“嘿,你已經老了,不適合做程式設計師了!”我雖然附和地笑了笑,但是卻有所感觸。在我們這行,年齡歧視已經司空見慣。COBOL 那些人在若干年前就已經遇到了這個問題,隨著 Java 的流行和上升,我們這些寫 Java 程式的人嘲笑他們留下的程式碼以及面對新技術時的頑固不化。
現在同樣的事情降臨到我的頭上。也許你也是。即使現在還沒有,很快就會輪到你的。現在你還笑得出來嗎?是的,我是這麼認為的。
來自:CRE Taulbee 調查[譯註],2007-2008,5月 9 日釋出
譯註:Taulbee 調查:CRA 計算機研究組織針對北美計算機行業(電腦科學 CS、計算機工程 CE)從業人員就業、工作及薪資的調查,調查依據學位、性別等進行分類。往年資訊可以參見 CRA 網站。
來自:CRE Taulbee 報告
我們這行在很多方面都有年齡歧視。我們熱衷熱門的新技術,用從未聽說過的速度學習新東西,瘋狂地工作,將產品推向市場,這些在我們這行總被認為是年輕人乾的事情。我說過年輕的工人會更便宜對吧?真的便宜很多。但是計算機學位趨勢調查並不支援我們的經理可以永遠擁有大量便宜的工人隨意指揮。事實上,所有的資料都指向一個結論:在幾乎 10 年的時間裡,學習電腦科學(CS)學生數量略有下降或者與往年持平。甚至於如 Jeff Atwood 所言,僱傭程式設計師的選擇也選來越少。你的下一個專案可能需要僱人來完成了,與此同時外包面臨強烈抵制,Egon,你會向誰尋求幫助?
如果你以為能夠避免軟體開發的“灰質”問題,請三思而行。在 IT 行業裡,有一些關於程式開發老手的誤傳根深蒂固,莫名其妙地讓年長的、有經驗的工人在行業中處於不利的境地。這些誤傳大部分都是無稽之談,說什麼每個人過了 40 歲以後都會不同程度地因為年紀太大而變得愚蠢。讓我們一個個地擊穿這些誤傳的真相。
誤傳1:年長程式設計師比新手要價更高,因而年輕的開發人員更受歡迎。
事實:有經驗的開發人員之所以被打上“昂貴”的標籤,是因為在任何軟體公司裡員工的薪水永遠是最大的支出。事實上,年輕就意味著廉價。但是,儘管年輕但沒有什麼經驗的開發人員能夠幫你節省掉一些預算,但是如果你的團隊裡只有年輕人長遠來看你要付出的會更多。年輕的開發人員並沒有經歷過失敗的歷練。他們甚至還沒有足夠的時間來經歷失敗。猜猜他們會用誰的錢來教學費?你的。錯過截止時間並且交付沒有完工的專案會給你帶來多大的損失?請再好好想想吧。
的確,年長程式設計師比年輕人的工資要高一些。但是你多花的錢究竟花到哪裡了呢?一個經驗豐富的軟體開發人員,你付出的薪水買到的是他從過去專案開發中學到的經驗與教訓。這些就是在你成為他的經理期間需要付出的昂貴的學費。但是如果你招入一名有經驗的工人,你就不會重複專案管理和軟體開發過程中常犯的錯誤。也就意味著在年底的考核中你會因為僱傭了會做事的員工而得到良好的評價。
誤傳2:年長程式設計師受到他們已有知識的限制,靈活性和學習新技術的能力不及年輕的開發人員。
事實:事實上正是因為他們過去的經驗,年長程式設計師能夠在更深入的層次轉向新技術、框架以及系統。例如,如果瞭解C/C++編寫的 GUI 框架,你會對訊息傳遞、事件處理、MVC 模式有概念,而這些知識能夠幫助你在設計系統時把表示層和底層的邏輯進行分離。當你第一次接觸 GUI 框架的時候,除了學習程式碼的文法,你還需要掌握示例以及相關的程式碼庫,不僅如此,與之相關的所有概念也都需要了解。當第二次、第三次或者以後的更多次實現 GUI 框架時,你會發現在程式碼文法之外更深的地方它們有著相似之處。你甚至可能會注意到,新的 GUI 框架會克服以前你花費很大力氣才能解決的潛在限制。這些領悟會以你不能直接衡量的方式提高生產率。
誤傳3:年長程式設計師有家庭以及其他因素的影響,因此不能承擔艱苦的軟體開發任務(解讀:長時間、艱苦地工作),而年輕人沒有這些負擔。
事實: 公平地講,有經驗的軟體開發人員較少會長時間、艱苦地工作,因為他們從實踐(失敗)中學到連續數月每週工作 80 個小時最終會到達生產率的極限。這種情況會讓你精疲力盡,我敢打賭任何曾經歷過這種情況的人都不想再嘗試。即使有這樣的傾向,所謂的“家庭負擔”是不存在的。有經驗的高效的軟體工程師是無情的時間管理者,那些已經有家庭的工程師會更積極地在分配的時間內完成工作。他們也許會參加舞會或者足球賽,但是他們會把這些時間安排在業餘時間,在每個禮拜的 40 個小時工作中他們會高度專注在自己的工作上。已經成家的優秀軟體工程師必須高效地管理自己的私人時間,否則他們很快就會被蜂擁而來的工作埋掉。
傳說4:年長程式設計師不如年輕人思路敏捷。
事實:時光的確會對大腦產生影響,有很多證據顯示年長的工人在思考速度上會稍遜一籌。但是思路敏捷只是判斷標準的一部分。思考的更快並不總是代表考慮的更好。對於判斷力情況又是如何呢?有句老話:好的判斷來自經驗,而經驗則是從錯誤的判斷得來。想想他們具備比年輕人更多的見識、完成的工作以及經歷的成功和失敗,就知道以思維不再敏捷作為不僱傭年長的軟體工程師是一個糟糕的藉口。有經驗的開發人員可以從大量的專案中汲取經驗來為今天的專案避免錯誤的決定。年輕的開發人員有很多重要的新點子,但是卻沒有經過測試和驗證。同時具備這兩個方面會給你的團隊帶來巨大的價值。
誤傳5:年長程式設計師對於工作感到厭倦並且不屑一顧,因此在公司不如年輕人受歡迎。年輕的開發人員比他們對工作更有熱情。
事實:說這些話的人可能不喜歡自己的觀點被別人批評,批評他們的人已經在這個行業裡面久經考驗,一次又一次看到愚蠢的決定被付諸行動。有經驗的軟體開發人員會很早就發現問題。對於你所說的這個產品不會受到市場歡迎這樣的說法,他們不會買帳。因為他們與客戶打了多年的交道,並且知道你這麼說只是為了不在將來某個時候被公司解僱。他們不會因為客戶希望軟體下個月交貨就接受經理每週工作 80 個小時的要求。他們會告訴你要實現與客戶定好的特性還需要 3 個多月。
年輕的開發人員並不經常遇到那樣的情形,因此,對糟糕的管理習慣也沒有什麼抵抗力。管理者在這種情況下需要的只是天真的新手。如果你希望擁有一個偉大的團隊和偉大的產品,那麼有可以在你作出錯誤決定的時候能夠提醒你的人會為你一次又一次地避免遭受損失。但這得在你有勇氣承認自己並不是無所不知的前提下才會發生。
熱情會逐漸散去,所以你不能說是年紀抑制了熱情。如果事實真是如此,Donald Knuth, Ward Cunningham, Bill Joy, Bill Gates 以及其他數以百計的突破 40 歲魔咒的人就應該因為年紀的關係而對軟體行業不再有興趣。但是他們不是。熱情就是熱情。如果在你 40 歲的時候具有熱情,你還是可以愛上你所在的領域。這種熱愛不是一夜情。年輕的開發人員仍然能夠以短暫的熱情開始他們的事業,但是如果面對困難和挑戰的時候短暫的熱情會很快消退。
最後,請讓我澄清幾件事:年輕不都是壞事,年長也不都是好事。最重要的是,一個人如果程式設計能力不行,那麼無論年紀大小都不會被錄用。保持團隊年齡和經驗的多樣性。有差異存在,就能學習和進步。但是如果你是需要僱人的老闆,請不要馬上把坐在你對面有白頭髮的兄弟拒掉。忘掉你對年齡的偏見,看看他們能否打動你。
有一天那位兄弟(姐妹)可能就是你。
英文原文:Dave Rodenbaugh 編譯:伯樂線上
相關文章
- 關於程式設計師成長的一點思考程式設計師
- 關於移動Web效能的5個誤傳Web
- 關於軟體測試的5個誤傳
- 關於 Unicode 每個程式設計師應該知道的 5 件事Unicode程式設計師
- 關於程式設計師這個職業程式設計師
- 程式設計師常犯的 5 個非技術性錯誤程式設計師
- 一個程式設計師的讀書筆記——關於程式設計的反思程式設計師筆記
- 關於程式設計師的漫畫程式設計師
- 頂尖程式設計師不同於常人的5個區別程式設計師
- 頂尖程式設計師不同於常人的 5 個區別程式設計師
- 五個廣泛流傳的對大齡程式設計師的誤解程式設計師
- 一個盲人程式設計師的自傳程式設計師
- 一個程式設計師的江湖傳奇程式設計師
- 機器學習入門階段程式設計師易犯的5個錯誤機器學習程式設計師
- Web程式設計師常見的5個錯誤及解決方案Web程式設計師
- 關於 App 程式設計師泡沫APP程式設計師
- 關於App程式設計師泡沫APP程式設計師
- 關於程式設計師的漫畫(三)程式設計師
- 關於程式設計師的一點感想程式設計師
- Java程式設計師常犯的10個錯誤Java程式設計師
- 程式設計師可能常犯的 6 個錯誤程式設計師
- 程式設計師程式設計生涯中會犯的7個錯誤程式設計師
- 從1.5k到18k, 一個程式設計師的5年成長之路程式設計師
- 程式設計師永遠不要再犯的5個程式設計bug程式設計師
- 程式設計師獲取新程式設計技能的5個技巧?程式設計師
- 程式設計師:開始程式設計生涯的5個建議程式設計師
- 程式設計師成長的10個階段程式設計師
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- 有關程式設計師的十個預言程式設計師
- 程式設計師做網頁設計常犯的8個錯誤程式設計師網頁
- 關於程式設計師的極品漫畫程式設計師
- 碼農和程式設計師之間的5個關鍵差異程式設計師
- Java程式設計師容易犯的10個錯誤Java程式設計師
- 程式設計師看法上的幾個典型錯誤程式設計師
- 程式設計師的成長和程式碼行數的關係程式設計師
- 永遠不要再犯的 5 個程式設計錯誤程式設計
- 一個程式設計師的編年史程式設計師
- 一個十幾年程式設計師給所有新老程式設計師的忠告程式設計師