最近我過了40歲生日。 一個朋友開玩笑的對我說:”嘿,我想這個意味著你已經老的不適合再去程式設計了吧!“,我表面上哈哈一笑,但心裡卻觸動不少。年齡歧視在我們這行裡並不可笑。 就像今天用Java的兄弟淪落到這個地步一樣,幾年前,使用COBOL傢伙被我們從心底裡嘲笑其老舊的編碼方式和缺乏新技術中的靈活性。
如今輪到我被他們嘲笑了。 也許你也是這樣。如果目前沒有,我估計這一天也會很快到來。你還會笑的出來嗎? 是的,我想會跟我一樣的。
我們這一行受年齡歧視體現在好幾個方面。大家都熱衷於熱門的新技術,追求以不可想象的超速度掌握這些新知識的能力,永不疲倦的加班,讓產品按時釋出的幹勁--所有的這些都是做軟體這行中年輕人的特長。我還沒說年輕的員工很便宜的事吧?不是一般的便宜。這個計算機專業學歷需求趨勢統計並沒有清楚的告訴你目前年輕、廉價的勞力已經嚴重的過剩,那些人力經理對這部分人的感覺就像是大海一樣取之不盡用之不竭。事實上,所有的資料都證明了一個結論:近10年來求職登記計算機專業學歷水平要求正在下降或至少沒升過。如果說跟以前區別不太大的話,至少根據Jeff Atwood的資料,人才資訊儲備庫裡的人才質量是沒以前好了。當你找人開發你的新專案,而又不相信外包,那去找誰呢?
如果你正考慮只由年輕成員組成的開發團隊,那麼你需要再考慮一下。在軟體業,一些關於大齡軟體開發者的傳言被很多人深信不疑,這多少都使大齡的、有經驗的人處於一種不利的位置。 是這些人真的很蠢,他們認真參考這個學位趨勢,拒絕超過40的任何人,因為我們開起來已經老的有點傻了。讓我來一個個的揭穿這些傳言。
傳言:大齡程式設計師要比年輕的昂貴,相比之下年輕的開發者更可取。
真相: 有經驗的程式設計師之所以被標高價的原因是,在軟體企業中,員工工資是第一大成本。這樣看來,年輕就意味著便宜。雖然沒有經驗的、年輕的程式設計師可以讓你降低預算,但如果你的團隊裡都是這樣的人,他們會讓你支付的更久。年輕的程式設計師沒有接受過失敗的教訓。他們也沒有足夠的時間學習這種教訓。想想吧,他們會在誰的專案上學習這種教訓,會讓誰蒙受損失?是你。 當不能按期完成專案時你不是也要遭受損失嗎? 再想想。
是的,大齡程式設計師要比年輕程式設計師要求的薪水高。但是,你有沒有想過給他們這麼高的薪水是要得到什麼?對於有經驗的程式設計師,你實際是僱傭他們在以往失敗的或成功的專案中獲取的各種經驗。如果你想讓他們在你的經理任期裡學習這些經驗教訓,代價是昂貴的。如果你花錢僱傭了一個有經驗的程式設計師,他能確保你在以後的專案管理和軟體開發過程中不會在犯那些經典的錯誤。你的年度回顧圖表也會漂亮的多,因為你僱傭了聰明能幹的人,他們知道如果把工作漂亮的完成。
傳言: 大齡程式設計師缺少靈活性,缺乏學習新知識的能力,因為他們腦袋裡的傳統知識在作怪。
真相: 相反,正式由於他們的閱歷,越是有經驗的程式設計師越是能夠更迅速的,更深度的遷移到新的技術、框架和系統裡。例如,如果你學過C/C++的GUI框架,你的腦海裡就會對訊息傳輸,事件處理等概念的有了掌握,而MVC模式就是使用了這些概念來設計系統,分離表示層和後端業務處理的。而最初你學習一個GUI框架時,除了要學習語法,例項,以及常用類庫外,你還要學習這些概念性的東西。經過了二三種或更多的GUI框架學習後,你會發現各種框架之間除了語法外都非常的相似。你還會發現後,出現的框架已經克服了很多前輩所特有的侷限性,已經不需要你再去花時間開發複雜的hack程式了。這些深刻的見解可並不是那些新人可以擁有的。由這些思想儲備來提升的生產效率並不是你可以用什麼方法直接測量到的。
傳言: 大齡程式設計師不願意去幹那些很幸苦的開發工作 (編者注: 長時間的,加班加點的工作)因為他們有家庭和其他一些事情拖累,這些在年輕員工身上就不會有。
真相: 我認為,說熟練的程式設計師相比較更不願意加班加點辛苦的工作是沒錯的,因為他們知道只有工作效率有問題才會將自己推到每週工作80小時的處境。有人說是沒有幹勁了,但我卻要請問,哪一個曾經有過這種經歷的人還渴望再經歷一次?還有人說,“家庭負擔”是一個因素,但這只是個表面上的假象。高能力的、有經驗的軟體工程師對時間的管理是不留餘地的,正是有了家庭的原因,他們才會更有動機在給予的規定的時間裡把工作完成。他們也許需要陪家人去參加舞會,去看足球比賽,但他們也會在業餘時間把這些佔用的時間補上,在標準的一週40小時裡一心一意的工作。好的有家室的程式設計師一定是一個有效的管理自己個人時間的人,否則他立刻會淹沒在各種工作之中無法抽身。
傳言: 大齡程式設計師沒有年輕程式設計師腦瓜靈活。
真相: 年齡的增長確實影響人的腦力,可以測試出年紀大的工作者確實要比年輕的反應速度慢一些。可是思考敏捷只是我們的比較的一個方面而已。思考的快並不是總是好事。判斷的正確與否呢? 有一個古老的說法:
正確的判斷來自於經驗,經驗來自於錯誤的判斷。這些老程式設計師見識過的、經歷過的成功的、失敗的案例都比年輕的多,由此可以看出,以思考速度退化為藉口來拒絕大齡程式設計師是缺乏說服力的。經驗豐富的程式設計師有大量的歷史可以拿來作為借鑑和參考,讓你避免在現在的專案裡有錯誤的判斷 年輕的程式設計師可能會有一些很好的新觀點,但通常是沒有經過測試和驗證的。 如果團隊裡兩種程式設計師組合,那會非常的有好處。
傳言: 大齡程式設計師對工作感到疲倦和挑剔,所以在崗位上沒有年輕人那樣有幹勁。
真相: 這種話很可能來自於一些老是被有經驗的程式設計師批評為傻冒的人,這些有經驗的程式設計師已經無法忍受那些愚蠢的決定在他們周圍一次有一次的發生。有經驗的程式設計師在一公里外就能嗅出錯誤的氣味。他們絕對不會聽你講故事說這個產品如何在市場上不被客戶接受,因為他們已經跟客戶打了多年的交道,他們知道你企圖用謊言來挽救你被解僱的命運。他們絕對不會忍受,因為客戶要求下月就要出產品,經理就要求他們每週工作80小時的要求,以為他們已經知道並說過至少要3個月才能完全實現客戶要求的功能。
年輕的程式設計師並沒有經歷那麼多這樣的處境,所以他們很少有反抗經理的錯誤決定的動作。管理人員不能用他們天真的想法去要求事物。如果你想擁有一個優秀的團隊,讓它生產出優秀的產品,那麼允許人們將你從錯誤的道路拉回來,將會一次又一次的挽救你的專案。當然,只有在你有勇氣承認自己無知的情況才會這樣。
至於說熱情在消失,你很難判斷是歲月消磨了人的熱情。如果說是年齡的原因,那麼如何解釋Donald Knuth, Ward Cunningham, Bill Joy, 比爾·蓋茨等成百上千的跨過了40歲門檻的人依舊沒有喪失任何對這個領域的熱情的呢?他們沒有喪失。熱情就是熱情。你40歲時還擁有熱情,那是你真的熱愛這個行業。
這種愛不會在一夜之間就消失的。那些依舊沿著這些前輩的足跡前進的年輕的程式設計師們也許會擁有短暫的熱情,也許會在這條道路的前進過程中面對困難和挑戰發生動搖。
作為總結,讓我們清清楚楚的看清這些事情:年輕不是個壞事情。年老也不是所有都好。最重要的是,任何肚子裡沒有實貨的程式設計師都不應該被僱傭,不論是年輕和年老。保持你的團隊成員年輕年老、有經驗和沒經驗混合 — 保持隊伍多樣性存在,團隊才能成長進步。如果你正在招聘一些人,不要對坐在你前面的頭髮顯花白的人置之不理。如果他的才能能打動你,那就丟棄年齡的偏見。
也許有一天這個人就是你。
本文轉載自:外刊IT評論
相關閱讀
評論(0)