來自:CRE Taulbee調(diào)查[譯注],2007-2008,5月9日發(fā)布
譯注:Taulbee調(diào)查:CRA 計(jì)算機(jī)研究組織針對北美計(jì)算機(jī)行業(yè)(計(jì)算機(jī)科學(xué)CS、計(jì)算機(jī)工程CE)從業(yè)人員就業(yè)、工作及薪資的調(diào)查,調(diào)查依據(jù)學(xué)位、性別等進(jìn)行分類。往年信息可以參見CRA網(wǎng)站。
來自:CRE Taulbee報(bào)告
我們這行在很多方面都有年齡歧視。我們熱衷熱門的新技術(shù),用從未聽說過的速度學(xué)習(xí)新東西,瘋狂地工作,將產(chǎn)品推向市場,這些在我們這行總被認(rèn)為是年輕人干的事情。我說過年輕的工人會更便宜對吧?真的便宜很多。但是計(jì)算機(jī)學(xué)位趨勢調(diào)查并不支持我們的經(jīng)理可以永遠(yuǎn)擁有大量便宜的工人隨意指揮。事實(shí)上,所有的數(shù)據(jù)都指向一個結(jié)論:在幾乎10年的時(shí)間里,學(xué)習(xí)計(jì)算機(jī)科學(xué)(CS)學(xué)生數(shù)量略有下降或者與往年持平。甚至于如Jeff Atwood所言,雇傭程序員的選擇也選來越少。你的下一個項(xiàng)目可能需要雇人來完成了,與此同時(shí)外包面臨強(qiáng)烈抵制,Egon,你會向誰尋求幫助?
如果你以為能夠避免軟件開發(fā)的“灰質(zhì)”問題,請三思而行。在IT行業(yè)里,有一些關(guān)于程序開發(fā)老手的誤傳根深蒂固,莫名其妙地讓年長的、有經(jīng)驗(yàn)的工人在行業(yè)中處于不利的境地。這些誤傳大部分都是無稽之談,說什么每個人過了40歲以后都會不同程度地因?yàn)槟昙o(jì)太大而變得愚蠢。讓我們一個個地?fù)舸┻@些誤傳的真相。
誤傳1:年長程序員比新手要價(jià)更高,因而年輕的開發(fā)人員更受歡迎。
事實(shí):有經(jīng)驗(yàn)的開發(fā)人員之所以被打上“昂貴”的標(biāo)簽,是因?yàn)樵谌魏诬浖纠飭T工的薪水永遠(yuǎn)是最大的支出。事實(shí)上,年輕就意味著廉價(jià)。但是,盡管年輕但沒有什么經(jīng)驗(yàn)的開發(fā)人員能夠幫你節(jié)省掉一些預(yù)算,但是如果你的團(tuán)隊(duì)里只有年輕人長遠(yuǎn)來看你要付出的會更多。年輕的開發(fā)人員并沒有經(jīng)歷過失敗的歷練。他們甚至還沒有足夠的時(shí)間來經(jīng)歷失敗。猜猜他們會用誰的錢來教學(xué)費(fèi)?你的。錯過截止時(shí)間并且交付沒有完工的項(xiàng)目會給你帶來多大的損失?請?jiān)俸煤孟胂氚伞?/p>
的確,年長程序員比年輕人的工資要高一些。但是你多花的錢究竟花到哪里了呢?一個經(jīng)驗(yàn)豐富的軟件開發(fā)人員,你付出的薪水買到的是他從過去項(xiàng)目開發(fā)中學(xué)到的經(jīng)驗(yàn)與教訓(xùn)。這些就是在你成為他的經(jīng)理期間需要付出的昂貴的學(xué)費(fèi)。但是如果你招入一名有經(jīng)驗(yàn)的工人,你就不會重復(fù)項(xiàng)目管理和軟件開發(fā)過程中常犯的錯誤。也就意味著在年底的考核中你會因?yàn)楣蛡蛄藭鍪碌膯T工而得到良好的評價(jià)。
誤傳2:年長程序員受到他們已有知識的限制,靈活性和學(xué)習(xí)新技術(shù)的能力不及年輕的開發(fā)人員。
事實(shí):事實(shí)上正是因?yàn)樗麄冞^去的經(jīng)驗(yàn),年長程序員能夠在更深入的層次轉(zhuǎn)向新技術(shù)、框架以及系統(tǒng)。例如,如果了解C/C++編寫的GUI框架,你會對消息傳遞、事件處理、MVC模式有概念,而這些知識能夠幫助你在設(shè)計(jì)系統(tǒng)時(shí)把表示層和底層的邏輯進(jìn)行分離。當(dāng)你第一次接觸GUI框架的時(shí)候,除了學(xué)習(xí)代碼的文法,你還需要掌握示例以及相關(guān)的代碼庫,不僅如此,與之相關(guān)的所有概念也都需要了解。當(dāng)?shù)诙?、第三次或者以后的更多次?shí)現(xiàn) GUI框架時(shí),你會發(fā)現(xiàn)在代碼文法之外更深的地方它們有著相似之處。你甚至可能會注意到,新的GUI框架會克服以前你花費(fèi)很大力氣才能解決的潛在限制。這些領(lǐng)悟會以你不能直接衡量的方式提高生產(chǎn)率。
誤傳3:年長程序員有家庭以及其他因素的影響,因此不能承擔(dān)艱苦的軟件開發(fā)任務(wù)(解讀:長時(shí)間、艱苦地工作),而年輕人沒有這些負(fù)擔(dān)。
事實(shí): 公平地講,有經(jīng)驗(yàn)的軟件開發(fā)人員較少會長時(shí)間、艱苦地工作,因?yàn)樗麄儚膶?shí)踐(失敗)中學(xué)到連續(xù)數(shù)月每周工作80個小時(shí)最終會到達(dá)生產(chǎn)率的極限。這種情況會讓你精疲力盡,我敢打賭任何曾經(jīng)歷過這種情況的人都不想再嘗試。即使有這樣的傾向,所謂的“家庭負(fù)擔(dān)”是不存在的。有經(jīng)驗(yàn)的高效的軟件工程師是無情的時(shí)間管理者,那些已經(jīng)有家庭的工程師會更積極地在分配的時(shí)間內(nèi)完成工作。他們也許會參加舞會或者足球賽,但是他們會把這些時(shí)間安排在業(yè)余時(shí)間,在每個禮拜的 40個小時(shí)工作中他們會高度專注在自己的工作上。已經(jīng)成家的優(yōu)秀軟件工程師必須高效地管理自己的私人時(shí)間,否則他們很快就會被蜂擁而來的工作埋掉。
傳說4:年長程序員不如年輕人思路敏捷。
事實(shí):時(shí)光的確會對大腦產(chǎn)生影響,有很多證據(jù)顯示年長的工人在思考速度上會稍遜一籌。但是思路敏捷只是判斷標(biāo)準(zhǔn)的一部分。思考得更快并不總是代表考慮得更好。對于判斷力情況又是如何呢?有句老話:好的判斷來自經(jīng)驗(yàn),而經(jīng)驗(yàn)則是從錯誤的判斷得來。想想他們具備比年輕人更多的見識、完成的工作以及經(jīng)歷的成功和失敗,就知道以思維不再敏捷作為不雇傭年長的軟件工程師是一個糟糕的借口。有經(jīng)驗(yàn)的開發(fā)人員可以從大量的項(xiàng)目中汲取經(jīng)驗(yàn)來為今天的項(xiàng)目避免錯誤的決定。年輕的開發(fā)人員有很多重要的新點(diǎn)子,但是卻沒有經(jīng)過測試和驗(yàn)證。同時(shí)具備這兩個方面會給你的團(tuán)隊(duì)帶來巨大的價(jià)值。
誤傳5:年長程序員對于工作感到厭倦并且不屑一顧,因此在公司不如年輕人受歡迎。年輕的開發(fā)人員比他們對工作更有熱情。
事實(shí):說這些話的人可能不喜歡自己的觀點(diǎn)被別人批評,批評他們的人已經(jīng)在這個行業(yè)里面久經(jīng)考驗(yàn),一次又一次看到愚蠢的決定被付諸行動。有經(jīng)驗(yàn)的軟件開發(fā)人員會很早就發(fā)現(xiàn)問題。對于你所說的這個產(chǎn)品不會受到市場歡迎這樣的說法,他們不會買帳。因?yàn)樗麄兣c客戶打了多年的交道,并且知道你這么說只是為了不在將來某個時(shí)候被公司解雇。他們不會因?yàn)榭蛻粝M浖聜€月交貨就接受經(jīng)理每周工作80個小時(shí)的要求。他們會告訴你要實(shí)現(xiàn)與客戶定好的特性還需要3個多月。
年輕的開發(fā)人員并不經(jīng)常遇到那樣的情形,因此,對糟糕的管理習(xí)慣也沒有什么抵抗力。管理者在這種情況下需要的只是天真的新手。如果你希望擁有一個偉大的團(tuán)隊(duì)和偉大的產(chǎn)品,那么有可以在你作出錯誤決定的時(shí)候能夠提醒你的人會為你一次又一次地避免遭受損失。但這得在你有勇氣承認(rèn)自己并不是無所不知的前提下才會發(fā)生。
熱情會逐漸散去,所以你不能說是年紀(jì)抑制了熱情。如果事實(shí)真是如此,Donald Knuth, Ward Cunningham, Bill Joy, Bill Gates以及其他數(shù)以百計(jì)的突破40歲魔咒的人就應(yīng)該因?yàn)槟昙o(jì)的關(guān)系而對軟件行業(yè)不再有興趣。但是他們不是。熱情就是熱情。如果在你40歲的時(shí)候具有熱情,你還是可以愛上你所在的領(lǐng)域。這種熱愛不是一夜情。年輕的開發(fā)人員仍然能夠以短暫的熱情開始他們的事業(yè),但是如果面對困難和挑戰(zhàn)的時(shí)候短暫的熱情會很快消退。
最后,請讓我澄清幾件事:年輕不都是壞事,年長也不都是好事。最重要的是,一個人如果編程能力不行,那么無論年紀(jì)大小都不會被錄用。保持團(tuán)隊(duì)年齡和經(jīng)驗(yàn)的多樣性。有差異存在,就能學(xué)習(xí)和進(jìn)步。但是如果你是需要雇人的老板,請不要馬上把坐在你對面有白頭發(fā)的兄弟拒掉。忘掉你對年齡的偏見,看看他們能否打動你。
有一天那位兄弟(姐妹)可能就是你。