關於年長程式設計師的5個誤傳

Web開發者發表於2012-07-06

最近我剛過完40歲生日,一個朋友向我開玩笑地說“嘿,你已經老了,不適合做程式設計師了!”我雖然附和地笑了笑,但是卻有所感觸。在我們這行,年齡歧視已經司空見慣。COBOL那些人在若干年前就已經遇到了這個問題,隨著Java的流行和上升,我們這些寫Java程式的人嘲笑他們留下的程式碼以及面對新技術時的頑固不化。

現在同樣的事情降臨到我的頭上。也許你也是。即使現在還沒有,很快就會輪到你的。現在你還笑得出來嗎?是的,我是這麼認為的。

Computer Science Degree Trends 1996-2008

來自:CRE Taulbee調查[譯註],2007-2008,5月9日釋出

譯註:Taulbee調查:CRA 計算機研究組織針對北美計算機行業(電腦科學CS、計算機工程CE)從業人員就業、工作及薪資的調查,調查依據學位、性別等進行分類。往年資訊可以參見CRA網站

Computer Science Enrollment Trends, 1995-2008
來自: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歲的時候具有熱情,你還是可以愛上你所在的領域。這種熱愛不是一夜情。年輕的開發人員仍然能夠以短暫的熱情開始他們的事業,但是如果面對困難和挑戰的時候短暫的熱情會很快消退。

最後,請讓我澄清幾件事:年輕不都是壞事,年長也不都是好事。最重要的是,一個人如果程式設計能力不行,那麼無論年紀大小都不會被錄用。保持團隊年齡和經驗的多樣性。有差異存在,就能學習和進步。但是如果你是需要僱人的老闆,請不要馬上把坐在你對面有白頭髮的兄弟拒掉。忘掉你對年齡的偏見,看看他們能否打動你。

有一天那位兄弟(姐妹)可能就是你。

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

任選一種支付方式

關於年長程式設計師的5個誤傳 關於年長程式設計師的5個誤傳

相關文章