查查看:程序員的八個(gè)級(jí)別,你屬于哪個(gè)級(jí)別?
這篇文章來(lái)源于Jeff Atwood的文章《The Eight Levels Of Programmers》,在開題之前,聊下“程序員”這個(gè)名詞,我覺(jué)得將Programmer定義為“程序員”的要求太低了,應(yīng)該稱之為“開發(fā)人員”或“研發(fā)人員”,因?yàn)橐粋€(gè)成熟的Programmer不僅僅只關(guān)注Program或Code(當(dāng)然Coding是基本技能要求),還需要關(guān)注該P(yáng)rogram的需求背景、業(yè)務(wù)、架構(gòu)及其長(zhǎng)期演進(jìn),或許團(tuán)隊(duì)中分工不同,這些不屬于Programmer的重心,但你花時(shí)間去了解和理解它們是絕對(duì)有助于Program的。
上面這些文字只是我的理解,下面Jeff Atwood的文章對(duì)Programmer的界定看似從編程能力和貢獻(xiàn)來(lái)劃分的,但實(shí)際上高級(jí)別的Programmer關(guān)注的也絕不是Code本身了。啰嗦完以后還是看看大拿的原文吧:
你是否被人問(wèn)過(guò)這樣一個(gè)經(jīng)典的面試問(wèn)題,“五年內(nèi)你對(duì)自己有什么規(guī)劃?”,這種問(wèn)題一般不會(huì)得到一個(gè)很嚴(yán)肅的回答,就像另外一個(gè)毫無(wú)新意且充滿壓抑的問(wèn)題,“你***的弱點(diǎn)是什么?”
但我卻不這么想,我認(rèn)為這是一些比較嚴(yán)肅的問(wèn)題,值得我們認(rèn)真的思考一下。并不是給面試官做好事,而是為你自己的將來(lái)。
“五年內(nèi)你對(duì)自己有什么規(guī)劃?”,這個(gè)問(wèn)題通常會(huì)招致一些流于形式的夸夸其談,大部分的人在面對(duì)面試官時(shí)都對(duì)這樣的問(wèn)題有事先的準(zhǔn)備。當(dāng)通常都不會(huì) 涉及一些深刻的關(guān)切:你做作為程序員今后可能的發(fā)展道路上怎樣的?沒(méi)錯(cuò),我們編程,是因?yàn)槲覀兿矚g,這樣看來(lái)我們是很幸運(yùn)的。但當(dāng)你50時(shí)歲時(shí)你還想坐在電腦前面編程嗎?60時(shí)歲時(shí)?對(duì)于一個(gè)想成為程序員的人來(lái)說(shuō),他的***的仕途道路應(yīng)該是怎樣?
你是否想聽一下,如果我告訴你,算是玩笑吧,程序員有八個(gè)級(jí)別。
1
已經(jīng)死掉的程序員,這是***級(jí)別,你的代碼存活了下來(lái),超越了你的死亡。你將在計(jì)算機(jī)史上記下永恒的一筆。其他 的程序員將會(huì)研究你的成果和著作。你也許獲得過(guò)圖靈獎(jiǎng),或?qū)懗鲞^(guò)有影響力的論文,或發(fā)明了一兩件重要的、影響到編程史進(jìn)程的技術(shù)。你不僅僅在維基百科上有 條目記錄——有專門的網(wǎng)站在致力于研究你的生活和工作。很少有程序員能在有生之年達(dá)到這種級(jí)別。
例子:艾茲赫爾·戴克斯特拉(獲得圖靈獎(jiǎng)),高德納(現(xiàn)代計(jì)算機(jī)科學(xué)的鼻祖),艾倫·凱(獲得圖靈獎(jiǎng))
2
成功的程序員,有知名度,而且通過(guò)自己的代碼創(chuàng)建了公司——甚至開創(chuàng)了整個(gè)行業(yè)。這種程序員享有絕對(duì)的自由度:自由的選擇自己想做的事情。并且能把這種自由分享給跟他一起的程序員同伴。這是大多數(shù)程序員都向往渴望的級(jí)別。達(dá)到這種級(jí)別通常更多的是依靠商業(yè)技巧,而不是編程。
例子:比爾·蓋茨,約翰·卡馬克(《雷神之錘》視頻游戲創(chuàng)始人),DHH( Ruby on Rails框架創(chuàng)始人)
3
著名程序員,這也是一個(gè)很好的級(jí)別,但前提是,你有穩(wěn)定的工作。你在編程界有知名度。但有名并不意味這你可以把它轉(zhuǎn)化成收益或給你帶來(lái)幫助。有名很好,但成功更好。你可以在一個(gè)大的、知名的科技公司工作,或者一個(gè)有影響力的小公司工作,或你身處一個(gè)規(guī)模不大的創(chuàng)業(yè)團(tuán)隊(duì)里。不管怎樣,其他的程序員都聽說(shuō)過(guò)你,你在這個(gè)領(lǐng)域有積極的影響力。
4
有工作能力的程序員,你是一個(gè)職業(yè)上成功的軟件開發(fā)人員。你的技術(shù)水平讓你受歡迎,你永遠(yuǎn)不愁找到一份很好的工作。你的同事都很敬仰你。你工作過(guò)的每個(gè)公司都會(huì)由于你的到來(lái)而在某方面有提高或增強(qiáng)。但你還能怎樣?
5
普通程序員,處于這個(gè)等級(jí)的你是個(gè)不錯(cuò)的程序員,有自知之明,認(rèn)識(shí)到自己不是個(gè)優(yōu)秀程序員。 也許永遠(yuǎn)也不是。天才跟成功通常沒(méi)有多大牽連。如果你會(huì)做生意并有人際交往能力,你也許會(huì)非常的成功。如果你是個(gè)水平一般的程序員但卻想以此為生,你應(yīng)該 聰明的知道,你并不一定需要去編碼。不要輕視自知之明的作用。很少人能做到這點(diǎn)。沒(méi)有天份沒(méi)什么。要有勇氣。弄清你擅長(zhǎng)什么,朝這個(gè)目標(biāo)奮斗。堅(jiān)持不懈。
6
業(yè)余程序員,業(yè)余程序員喜歡編程,而且可以看出來(lái):他們可以成為一個(gè)有前途的學(xué)生或?qū)嵙?xí)生。他們也許會(huì)向開源軟 件捐贈(zèng)代碼,或在業(yè)余時(shí)間開發(fā)有趣的“只是為了好玩”的程序或網(wǎng)站。他們的程序和想法展現(xiàn)出一種熱情和希望。做業(yè)余程序員是件不錯(cuò)的事情;這個(gè)級(jí)別的人能 很快的躍升成為一名有工作能力的程序員。
7
無(wú)名程序員,典型的程序員大眾。碼農(nóng)。能干(通常)但平凡。也許為大公司、集團(tuán)工作。只是一份工作,不是生活的全部。無(wú)可厚非。
8
爛程序員,歸入這個(gè)角色的人沒(méi)有任何的技術(shù)和能力。對(duì)于他的同事們來(lái)說(shuō),任何他插手的事情都會(huì)變成痛苦和折磨 ——可能有一種例外,對(duì)另外的爛程序員,因?yàn)槿狈镜募寄埽娌磺遄约赫诤土硪粋€(gè)爛程序員共事。也許這是所有爛程序員的標(biāo)準(zhǔn)特征。這些人本來(lái)跟編程沒(méi) 有任何關(guān)系——但是,他們卻在編程。
這些并不是很正經(jīng)的等級(jí)劃分。每個(gè)程序員在職業(yè)道路上都有各自的追求。但這可以給你一定的啟發(fā),讓你思考一下十年后、二十年后或三十后——也許你的一生——能夠?qū)崿F(xiàn)什么。哪一個(gè)著名程序員是你最欽佩的?他們因?yàn)閷?shí)現(xiàn)了什么而獲得了你的欽佩?
簡(jiǎn)而言之,作為Programmer,你這輩子想干成怎樣?