This Is A FineDay

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            93 隨筆 :: 0 文章 :: 69 評論 :: 0 Trackbacks
          (轉)http://news.csdn.net/a/20090610/211855.html 軟件界一個無可爭議的事實是,不同程序員的效率有差別,而且差別很大。許多專家將優秀程序員和一般程序員區分地很清楚。 大多數研究得出結論認為,一般程序員跟優秀程序員之間在工作效率和質量上存在10:1的關系:優秀程序員和水平較差的程序員的編碼時間比例為 1:20;debugging時間比為1:25;代碼數量比是5:1;程序執行速度比例是10:1。而且發現,程序員的代碼質量和效率跟工作經驗沒有關系。 讓我們看看一些軟件大腕們是如何看待優秀程序員和一般程序員的: Randall E. Stross:無論是從軟件標準、創造性、開發速度、還是設計思路或者解決問題的能力上來說,優秀程序員比差的程序員都何止好一點。 Bill Gates:一個優秀的機床工值一個一般機床工的好幾倍,而一個優秀程序員值一個一般程序員的10000倍。 Robert C. Martin:90%的代碼是由10%的程序員寫出來的。 就我個人從事編程行業25年、從事過六家軟件公司的經歷來看,10:1這個定律千真萬確。基于這一定律以及程序員工作效率的差別,程序員因此被分為五大類: 1. 大師級程序員(Visionary/Artist Programmer) 大師級程序員是軟件界絕對的稀有種族,他們可以創造出99.9%的程序員所創造不出來的東西。他們發明新的應用和軟件模式來驅動軟件產業的發展。 Napster, Netscape以及World Wide Web都是大師級程序員創造的。對他們而言,軟件更多的是藝術而非科學。在這個級別,速度和質量不是最重要的,他們創造出的財富才是最重要的。許多開發團隊或者公司頂多也就一個大師級程序員,通常是這個公司的技術創始人或者CTO。 2. 開拓者程序員(Trailblazer Programmer) 開拓者程序員通常帶來很好的主意和趨勢。他們通常是最終產品的原型創作者,他們一天做出的事情大部分程序員需要幾周甚至幾個月。開拓者程序員總是在嘗試新工具、新技術,不斷地學習和搜尋方法來提高工作效率,并通常是其他程序員的導師和老師,而且你經常會發現當其他程序員早已離開的時候他們卻依然工作到深夜。盡管這樣級別的程序員工資很高,但是每個成功的公司或團隊還是應該配備一兩個開拓者程序員。 3.骨干程序員( Workhorse Programmer) 骨干程序員是一個公司或者開發團隊的脊柱,這些人盡管不是很有創新性,但往往比較高效且值得信賴。給一位骨干程序員一套模板和合適的工具,他們總能以最短的時間交出錯誤最少的代碼。 4.機械程序員( Drone Programmer) 許多程序員就是朝九晚五地為了填塞下自己錢包的機械程序員。他們不愿意接觸新技術、避免學習新事物。許多公司或者開發團隊都有許多這樣的機械程序員,因為他們很便宜,但豈不知更貴的程序員才真正地更便宜。 5.白癡程序員( Idiot Programmer) 林子大了什么鳥都有,軟件領域也不例外。編程需要抽象和邏輯思維,然而一些尚不具備此能力者由于向往著不錯的薪水而加入了該領域。白癡程序員總是對最簡單的算法也搞不清楚,他們總是錯過軟件截止日期,終日無所獲。白癡程序員最好的出路就是換行。(王玉磊/譯)
          posted on 2009-06-10 11:40 Peter Pan 閱讀(306) 評論(0)  編輯  收藏 所屬分類: 雜文
          主站蜘蛛池模板: 广西| 正宁县| 常山县| 九江市| 宁远县| 江口县| 左权县| 南阳市| 德州市| 金川县| 库尔勒市| 阳原县| 怀集县| 泰和县| 潜山县| 连城县| 长宁区| 敖汉旗| 永靖县| 宁津县| 辽宁省| 札达县| 唐河县| 鄂温| 武城县| 桐庐县| 龙里县| 依安县| 宣汉县| 太仓市| 永州市| 萨迦县| 阜新市| 望江县| 灵山县| 韶关市| 项城市| 乐平市| 寿宁县| 壶关县| 桐乡市|