程式設計師的八個級別

aqee發表於2012-11-16

  你是否被人問過這樣一個經典的面試問題,“五年內你對自己有什麼規劃?”當被問到時,我的腦子裡總會回放一段1984年《Twisted Sister》裡的一個視訊片段。

我想讓你告訴我說——不,這樣更好,站起來,對著全班說

Twisted Sister - I Wanna Rock

你今後打算幹什麼?

  你想當搖滾明星,這很自然!或者至少要成為一名明星級程式設計師。這種問題一般不會得到一個很嚴肅的回答——就像另外一個毫無新意且充滿壓抑的問題,“你最大的弱點是什麼?”弱點是有時候太過搖滾,可能會傷著無辜的旁觀者。

  但我卻不這麼想,我認為這是一些比較嚴肅的問題,值得我們認真的思考一下。並不是給面試官做好事,而是為你自己的將來。

  “五年內你對自己有什麼規劃?”,這個問題通常會招致一些流於形式的誇誇其談,大部分的人在面對面試官時都對這樣的問題有事先的準備。當通常都不會涉及一些深刻的關切:你做作為程式設計師今後可能的發展道路上怎樣的?沒錯,我們程式設計,是因為我們喜歡,這樣看來我們是很幸運的。但當你50時歲時你還想坐在電腦前面程式設計嗎?60時歲時?對於一個想成為程式設計師的人來說,他的最好的仕途道路應該是怎樣?

  你是否想聽一下,如果我告訴你,算是玩笑吧,程式設計師有八個級別。

  1. 已經死掉的程式設計師這是最高階別。你的程式碼存活了下來,超越了你的死亡。你將在計算機史上記下永恆的一筆。其他的程式設計師將會研究你的成果和著作。你也許獲得過圖靈獎,或寫出過有影響力的論文,或發明了一兩件重要的、影響到程式設計史程式的技術。你不僅僅在維基百科上有條目記錄——有專門的網站在致力於研究你的生活和工作。很少有程式設計師能在有生之年達到這種級別。

    例子:艾茲赫爾·戴克斯特拉(獲得圖靈獎),高德納(現代電腦科學的鼻祖),艾倫·凱(獲得圖靈獎)

  2. 成功的程式設計師有知名度,而且通過自己的程式碼建立了公司——甚至開創了整個行業。這種程式設計師享有絕對的自由度:自由的選擇自己想做的事情。並且能把這種自由分享給跟他一起的程式設計師同伴。這是大多數程式設計師都向往渴望的級別。達到這種級別通常更多的是依靠商業技巧,而不是程式設計。

    例子:比爾·蓋茨,約翰·卡馬克(《雷神之錘》視訊遊戲創始人),DHH( Ruby on Rails框架創始人)

  3. 著名程式設計師這也是一個很好的級別,但前提是,你有穩定的工作。你在程式設計界有知名度。但有名並不意味這你可以把它轉化成收益或給你帶來幫助。有名很好,但成功更好。你可以在一個大的、知名的科技公司工作,或者一個有影響力的小公司工作,或你身處一個規模不大的創業團隊裡。不管怎樣,其他的程式設計師都聽說過你,你在這個領域有積極的影響力。
  4. 有工作能力的程式設計師你是一個職業上成功的軟體開發人員。你的技術水平讓你受歡迎,你永遠不愁找到一份很好的工作。你的同事都很敬仰你。你工作過的每個公司都會由於你的到來而在某方面有提高或增強。但你還能怎樣?
  5. 普通程式設計師處於這個等級的你是個不錯的程式設計師,有自知之明,認識到自己不是個優秀程式設計師。也許永遠也不是。天才跟成功通常沒有多大牽連。如果你會做生意並有人際交往能力,你也許會非常的成功。如果你是個水平一般的程式設計師但卻想以此為生,你應該聰明的知道,你並不一定需要去編碼。不要輕視自知之明的作用。很少人能做到這點。沒有天份沒什麼。要有勇氣。弄清你擅長什麼,朝這個目標奮鬥。堅持不懈。
  6. 業餘程式設計師業餘程式設計師喜歡程式設計,而且可以看出來:他們可以成為一個有前途的學生或實習生。他們也許會向開源軟體捐贈程式碼,或在業餘時間開發有趣的“只是為了好玩”的程式或網站。他們的程式和想法展現出一種熱情和希望。做業餘程式設計師是件不錯的事情;這個級別的人能很快的躍升成為一名有工作能力的程式設計師。
  7. 無名程式設計師典型的程式設計師大眾。碼農。能幹(通常)但平凡。也許為大公司、集團工作。只是一份工作,不是生活的全部。無可厚非。
  8. 爛程式設計師歸入這個角色的人沒有任何的技術和能力。對於他的同事們來說,任何他插手的事情都會變成痛苦和折磨——可能有一種例外,對另外的爛程式設計師,因為缺乏基本的技能,辨不清自己正在和另一個爛程式設計師共事。也許這是所有爛程式設計師的標準特徵。這些人本來跟程式設計沒有任何關係——但是,他們卻在程式設計。

  這些並不是很正經的等級劃分。每個程式設計師在職業道路上都有各自的追求。但這可以給你一定的啟發,讓你思考一下十年後、二十年後或三十後——也許你的一生——能夠實現什麼。哪一個著名程式設計師是你最欽佩的?他們因為實現了什麼而獲得了你的欽佩?

  簡言之,你這輩子想幹成什麼樣?

  附文中提到的那段視訊:Twisted Sister – I Wanna Rock

  原文連結:The Eight Levels of Programmers

相關文件:程式設計師水平大分級,你究竟屬於哪一類?

相關文章