程序員的級別


程序員的八個級別


注 : 這些級別並不是很嚴肅的,也並不是每個程序都會去思考一下自己的未來,但是這些級別可能會讓你去想一想從事程序員十年/二十年/三十年後,自己可能變成什麼樣。


第八級 不朽的程序員

這一級別是程序員的最高級別。你的代碼比你的生命活的還長,當你死後,你將會成爲整個歷史的一部分。其它程序員對你頂禮膜拜,或許你會獲得計算機最高獎“圖靈獎”,不然就是一系列極其影響力的論文,再不然,就是發明了一些可以影影響整個編程界根基的技術。你擁有的不僅僅是在維基百科上的一個詞條,還會有一個專門的網站來研究你的生平和你的工作成果。

比如:Dijkstra,Knuth(編程藝術的作者),Kay

 

第七級 成功的程序員

這類程序員一方面很著名,另一方面在商業上也很成功,他們影響了整個工業界。他們似乎決定了工業界中發展的方向,這些人,自己的編程能力固然了得,但估計他們的Business方面的能力應該大於他們編程的能力。(我個人認爲Linus應該屬於這一類)

比如: Gates(比爾蓋茨), Carmack(Doom和Quake 3D遊戲),DHH (Ruby on Rail的創建者)

 

第六級 著名程序員

這一類的程序員,在編程圈子內比較有名氣,但是他們的這種名氣並不一定能給他們帶來某種利益。名氣是一件好事,但是成功可能更好一些,這類人一般正在給一個很著名的大的公司,或是是一極具影響力的小公司裏工作,或者正在創建自己的事業。無論怎麼樣,其它的程序員聽說過你的名字,並以你爲榜樣在效仿着你。

 

第五級 骨幹程序員

這類程序員一般來說都是公司裏的骨幹份子,他們擔任着公司內最重要的編程角色,在公司內部,他們受到老闆和其它程序員的尊敬,他們不會失業,因爲他們隨時都可以很容易地找到工作。他們工作過的公司都會因爲他們而有所發展。

 

第四級 一般的程序員

這類程序員的優點在於,他們很清楚地意識到了自己可能這一輩了也無法成爲一個偉大的程序員。天才只是很少的一部分人。如果這類程序員有一些商業和人員管理能力,他們也會在公司裏相當的成功。“認識自我”並不簡單,這並不是一般人能做到的,能夠認識自己的人已經是很不錯了,找到自己的長處,並像那個方向努力,一定也會很成功的。因爲在公司裏,並不只有程序員一種職位,經理,PM,流程,SQA,技術支持,售前,管理員,測試人員等等都可能會讓這類程序員有更爲廣闊的天空。

 

第三級  業餘的程序員

這類人員不管是不是計算機科班出身,基礎如何,他們對編程有着特殊的愛好,他們可能會是一些很有前途的學生或實習生,也許他們可能會給開源做一些貢獻(比如說提供一些語言包或是一些插件什麼的),有時候,他們也會寫兩個小工具軟件放在網上讓人下載,也許有些時候就是爲了玩玩而開發一些小程序而打發一下他們空閒的時間。他們完全是靠熱情和承諾來編程。興趣永遠是最好的老師,也是最好的一件事,因爲興趣而引發的熱情通常會讓這些程序員成爲“骨幹程序員”。

 

第二級 不知名的程序員

這一級的程序員是典型的爲大衆所知的程序員,他們有一定的編程能力,但並不出衆,也許他們會在一家大公司裏工作,程序員只不過是他們的工作而已,並不是他們人生的全部。當然,這樣的程序員也挺好的。必竟,平凡地人還是大多數,平凡地活着也沒有什麼錯的。

 

第一級 糟糕的程序員

這類程序員不知道爲什麼就走上了編程這條路,他們甚至連最基本的編程經驗和能力都沒有。所有被他們碰過的事情都需要他們的同事重頭再返工一遍,他們根本不就是程序員。程序員這個職位對於他們可能就是一個錯誤。


------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------


公司程序員的九層樓



就IT公司而言,都希望自己的程序員在單位時間內生產出效率最高的代碼。但是,不同的人有不同的開發效率。至於說效率之間的差別究竟有多少,還真不得而知。這裏寫了幾個我的觀點,只是有感而發,歡迎大家討論。這九個層次只是一個大概,沒什麼實質的標準。


    【一層樓】

        不能及時完成開發任務,任務經常延期,開發的代碼經常引入新的問題。


    【二層樓】

        勉強完成開發任務,但是bug多,自測不充分。


    【三層樓】

        及時完成任務,同時出具自測報告,但是代碼中還是存在不少bug。

 
    【四層樓】

        任務完成的時間點控制得還不錯,但是代碼編寫質量不高,函數冗長、不易閱讀,難維護。

 
    【五層樓】

        提前完成開發任務,已經開始注意代碼函數級別的複用,代碼邏輯簡單,bug少。

 
    【六層樓】

        編寫代碼的時候,嚴格遵守編程規範,注意邏輯性、可讀性和簡潔性之間的平衡,任務總是提前完成。


    【七層樓】

        擁有自己的代碼庫,代碼簡練、易測試、易維護,編寫單元測試用例,入庫的代碼不會影響老代碼。


    【八層樓】

        編寫自己的測試工具,比如內存越界、泄漏和死鎖,根據功能選擇合適的算法,瞭解代碼後面的每一個彙編動作。


    【九層樓】

        在軟件的分層和結構上花費時間較多,不濫用語言特性,代碼屏蔽平臺和芯片的差異,代碼穩定且健壯性高,自測充分,調試信息豐富,故障定位準。

 




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章