程式設計師的八個級別

Jeff Atwood發表於2014-07-15

你有沒有遇到過這樣一個經典的面試題:“你希望五年之後的自己會是什麼樣?” 每當問起這個問題,我腦中總是回想起Twisterd Sister樂隊1984年時推出的那支MV

我要你告訴我-不,這樣更好,站起來對著全班說-

你打算怎樣度過你的一生?

你想要搖滾,當然!或者至少成為一個搖滾明星式的程式設計師。這個問題更多的時候是得不到一個認真的答案的-類似的沒人會老實回答的面試題還有“你最大的缺點是什麼?” 你最大的缺點是你有時搖滾的太投入,對嗎?無辜的路人可能被你撞傷。

但我覺得“你打算怎樣度過你的一生”這是一個不同的與其它走過場式的面試題,這道題比那些題目要嚴肅,這是一道值得認真思考的面試題。不是為了應付面試官,而是為你自己好。

“你希望五年後的自己會是什麼樣”這個問題已經司空見慣了,大多數人也能給面試官一個標準答案。但這個問題引發了某些更加深入的思考:軟體開發者潛在的職業路線是什麼樣的?是的,我們因為喜歡而去做某件事,而且我們十分有幸從事與自己喜歡的事相關的工作。但是當你50歲的時候你還會坐在電腦前程式設計嗎?當你60歲的時候呢?作為一名程式設計師,你最有可能的職業生涯成就會是什麼呢?是的,作為一名程式設計師。

如果我直截了當的告訴你程式設計師可以分為八個級別呢?

1.不朽的程式設計師

這是最高的級別。你的程式碼在你死後還會活在這個世界上。你會在計算機的歷史上永世留名。其他的程式設計師會研究你的程式碼和文章。你可能獲得過圖靈獎,或者寫過有影響力的書,或者發明了一項或者幾項足以影響人們已知的程式設計教程的技術。不僅維基百科會有介紹你的頁面,還有許多網站專門就是介紹和研究你的生活以及工作的。

很少有程式設計師在他們的一生裡能達到這個高度。

這樣的程式設計師有:Dijkstra, Knuth, Kay

2.成功的程式設計師

這個級別的程式設計師不僅有名而且還憑藉自己的程式碼,開創了自己的事業,甚至可能是開創了一個行業。這個級別的程式設計師可以享有絕對的自由:他們可以根據自己的意願自由的決定他們的工作內容,並且讓與他有關聯的程式設計師也可以享有這種自由。

這個級別應該是大多數程式設計師所向往的。是否能夠達到這個級別更多的是取決於商業頭腦而不是程式設計技巧。

這樣的程式設計師有: Gates, Carmack, DHH

3.著名的程式設計師

能到這個級別也是不錯的,但不足之處是你得去為別人工作。

到了這個級別意味著你在程式設計界已經有一定名氣。但名氣不能變成收入也不能養活你自己。有名氣很好,但成功更好。你可能為一家大型的知名的科技公司工作,或者在一家有影響的小公司工作,或者你是某個創業團隊的一員。無論是在哪裡工作,其他程式設計師會聽從你的意見,並且你能對所處的行業造成產生積極的影響。

4.能做事的程式設計師

在這個級別的話,作為一名軟體開發者,你的職業生涯是成功的。很多人需要你的能力,你不必擔心未來,不會很難找到一份滿意的工作。同行們尊敬你。你工作過的每一個公司都會因為你變得更好,並且因為你的存在,公司的某些不足會得到改善。

但是到了這個級別之後你還會追求什麼?

5.普通的程式設計師

這個級別程式設計師是一些已經足夠好的程式設計師,好到意識到自己還不是一個偉大的程式設計師,並且也許永遠不會成為一名偉大的程式設計師。

天賦對於成功的影響往往很小。如果你有商業頭腦並且善於與人相處,那麼你就有可能變得非常成功。如果你是一名普通的程式設計師,但設法以程式設計為生,那我想說你有你的才能,你不必非寫程式碼不可。

不要貶低自我認知的價值。很少有人能做到這點。意識到自己缺少某種天賦並沒有什麼大不了。坦然面對。找出你擅長的事情,並全力以赴的努力做好它。

6.業餘程式設計師

業餘程式設計師喜歡程式碼,這體現在:他們可能是能幹的學生或者實習生,或者他們樂於為開源專案做貢獻,或者“只是為了開心”在業餘時間做一些有趣的應用或者網站。他們的程式碼和點子體現了興趣和熱情。

成為業餘程式設計師是一件了不起的事情;這個級別的程式設計師可能會快速成長為一名能做事的程式設計師。

7.默默無聞的程式設計師

人們常說的程式設計師,就是這樣的程式設計師。路人甲碼農。(通常)能夠勝任工作但並不起眼。可能為一個大型的集團企業工作。程式設計只是一份工作,不是這些程式設計師生活的全部。這樣也沒有任何不好的。

8.差勁的程式設計師

這個級別指的是那些沒有絲毫技能和能力但由於各種原因誤入程式設計這行的程式設計師。他們碰過的每一樣與軟體相關的東西對於其他相關的程式設計師來說都會變成痛苦和災難--這些相關的程式設計師可能也是差勁的程式設計師,他們甚至缺少最基本的一些技能來意識到他們正在和另一名差勁的程式設計師一起工作。

把碰過的東西都變成痛苦和災難,這也許是所有差勁的程式設計師所共有的特點。這些人本來就不該寫程式碼,但是不管怎樣,他們還是寫了。

以上這些級別的設立並不是十分嚴謹。每個程式設計師在自己的職業生涯中追求的目標也可能不同。但這八個級別可以幫助我們去思考,作為一名程式設計師,十年、二十年、或者三十年之後,甚至是這一生,你能有怎樣的成就。哪些著名的程式設計師是你所崇拜的?他們取得的什麼成就使你崇拜他們?

簡而言之,你將怎樣度過你的一生?

相關文章