在面試時,你可能會被經常問到“在未來5年,你想幹什麼?”,這可能是一個比較難回答的問題。在中國,答案一般可能會是Team leader,Manager,或是Architect,Specialist等,在中國,大家可能更多地覺得manager會是程式設計師的下一個目標,可是在國外,經理和程式設計師可能是兩個不同的分支,Architect或Specialist 比經理來說更牛、代遇可能也更好,因為這些人的智商需要的更高。
在著名的“Coding Horror”上出現了這樣一篇文章,我把其轉到這裡(我並沒有完全一模一樣的翻譯,我只不過是用自己的話轉述罷了),也讓大家看看國外人的思考方式(當然,這篇文章只是分析程式設計師的級別而不是工種)。正如其作者結尾時所說,這八個級別並不是很嚴格的,其只不過是一種想法,希望能給大家另一種思路。
 
第八級 不朽的程式設計師
這一級別是程式設計師的最高階別。你的程式碼比你的生命活的還長,當你死後,你將會成為整個歷史的一部分。其它程式設計師對你頂禮膜拜,或許你會獲得計算機最高獎“圖靈獎”,不然就是一系列極其影響力的論文,再不然,就是發明了一些可以影影響整個程式設計界根基的技術。你擁有的不僅僅是在維基百科上的一個詞條,還會有一個專門的網站來研究你的生平和你的工作成果。
比如:Dijkstra, Knuth(程式設計藝術的作者), Kay
 
第七級 成功的程式設計師
這類程式設計師一方面很著名,另一方面在商業上也很成功,他們影響了整個工業界。他們似乎決定了工業界中發展的方向,這些人,自己的程式設計能力固然了得,但估計他們的Business方面的能力應該大於他們程式設計的能力。(我個人認為Linus應該屬於這一類)
比如: Gates(比爾蓋茲), Carmack(Doom和Quake 3D遊戲), DHH (Ruby on Rail的建立者)
 
第六級 著名程式設計師
這一類的程式設計師,在程式設計圈子內比較有名氣,但是他們的這種名氣並不一定能給他們帶來某種利益。名氣是一件好事,但是成功可能更好一些,這類人一般正在給一個很著名的大的公司,或是是一極具影響力的小公司裡工作,或者正在建立自己的事業。無論怎麼樣,其它的程式設計師聽說過你的名字,並以你為榜樣在效仿著你。
 
第五級 骨幹程式設計師
這類程式設計師一般來說都是公司裡的骨幹份子,他們擔任著公司內最重要的程式設計角色,在公司內部,他們受到老闆和其它程式設計師的尊敬,他們不會失業,因為他們隨時都可以很容易地找到工作。他們工作過的公司都會因為他們而有所發展。
 
第四級 一般的程式設計師
這類程式設計師的優點在於,他們很清楚地意識到了自己可能這一輩了也無法成為一個偉大的程式設計師。天才只是很少的一部分人。如果這類程式設計師有一些商業和人員管理能力,他們也會在公司裡相當的成功。“認識自我”並不簡單,這並不是一般人能做到的,能夠認識自己的人已經是很不錯了,找到自己的長處,並像那個方向努力,一定也會很成功的。因為在公司裡,並不只有程式設計師一種職位,經理,PM,流程,SQA,技術支援,售前,管理員,測試人員等等都可能會讓這類程式設計師有更為廣闊的天空。
 
第三級  業餘的程式設計師
這類人員不管是不是計算機科班出身,基礎如何,他們對程式設計有著特殊的愛好,他們可能會是一些很有前途的學生或實習生,也許他們可能會給開源做一些貢獻(比如說提供一些語言包或是一些外掛什麼的),有時候,他們也會寫兩個小工具軟體放在網上讓人下載,也行有些時候就是為了玩玩而開發一些小程式而打發一下他們空閒的時間。他們完全是靠熱情和承諾來程式設計。興趣永遠是最好的老師,也是最好的一件事,因為興趣而引發的熱情通常會讓這些程式設計師成為“骨幹程式設計師”。
 
第二級 不知名的程式設計師
這一級的程式設計師是典型的為大眾所知的程式設計師,他們有一定的程式設計能力,但並不出眾,也許他們會在一家大公司裡工作,只程式設計師只不過是他們的工作而已,並不是他們人生的全部。當然,這樣的程式設計師也挺好的。必竟,平凡地人還是大多數,平凡地活著也沒有什麼錯的。
 
第一級 糟糕的程式設計師
這類程式設計師不知道為什麼就走上了程式設計這條路,他們甚至連最基本的程式設計經驗和能力都沒有。所有被他們碰過的事情都需要他們的同事重頭再返工一遍,他們根本不就是程式設計師。程式設計師這個職位對於他們可能就是一個錯誤。
正如原文作者所說,“這些級別並不是很嚴肅的,也並不是每個程式都會去思考一下自己的未來,但是這些級別可能會讓你去想一想從事程式設計師十年/二十年/三十年後,自己可能變成什麼樣。”
文章:來源