Bruce Eckel(Thinking in Java/C++作者) 在他的 5%的神話 (Mythical 5%) 中提到:
5%的程序員開發(fā)效率是其他95%程序員的20倍
(5% of programmers are 20x more productive than theother 95%)
按照80-20法則,80%的程序員幾乎不看書,不讀Blog,不參加技術(shù)會(huì)議,不持續(xù)學(xué)習(xí)。這些人也可能會(huì)進(jìn)入大公司,他們?nèi)諒?fù)一日的做著重復(fù)的工作。另外20%則在專業(yè)方面比較主動(dòng),他們喜歡閱讀,喜歡學(xué)習(xí),喜歡參加技術(shù)活動(dòng)。這20%當(dāng)中又會(huì)有80%的人可能不會(huì)特別成功,他們?nèi)匀蛔咴谕ㄍ晒Φ穆飞蠆^斗。剩下20%,也就是總數(shù)的5%的開發(fā)人員具備20倍的開發(fā)效率。
那如何成為這5%中的一員呢
Bruce Eckel 的觀點(diǎn):閱讀,分析,總結(jié),實(shí)踐
這5%的人會(huì)習(xí)慣經(jīng)常閱讀新技術(shù),并喜歡參與各種有潛在價(jià)值的新概念的實(shí)踐,他們會(huì)有非常有選擇性的參與會(huì)議,大部分時(shí)間都花在有效率的事情上,將事情做成。
要想比別人效率高出20%,則需要在各個(gè)方面達(dá)到平衡,而不單只是能將事情搞定那么簡(jiǎn)單,因此你要使用最好的工具,最優(yōu)秀的技術(shù),并盡最大的努力。平衡點(diǎn)并 不是從明顯的事物上就可以輕松獲得,或者是被人告知的經(jīng)驗(yàn),或者是大眾化的經(jīng)驗(yàn)。它需要自己摸索并發(fā)現(xiàn)事物背后的規(guī)律,需要自己去總結(jié)并發(fā)現(xiàn)。
比如我們通常對(duì)各種編程語(yǔ)言優(yōu)缺點(diǎn)熟記于心,我們通??梢悦摽诙霰热鏴rlang適合大并發(fā)場(chǎng)合等等。但是大部分人不會(huì)意識(shí)到很多場(chǎng)合語(yǔ)言并不重要。
因此如果你要成為那5你必須持之以恒的堅(jiān)持學(xué)習(xí),多學(xué)習(xí)編程是有好處的,但是僅僅局限于了解編程是不夠的,比如類似以下經(jīng)驗(yàn):
- 代碼被閱讀的時(shí)間比寫代碼的時(shí)間要長(zhǎng),如果你的代碼不能被人理解,則沒人會(huì)去改善或者修改其中的bug
- Code review是最有成效的改善軟件缺陷的方法,但在我們卻經(jīng)常“沒有時(shí)間來考慮它”
所以除了精通編程之外,最好多看一些編程方法與協(xié)作的書,如并不傳授編程技巧的《代碼大全》之類的書。
Jeff Atwood (Coding Horror) 的觀點(diǎn):技術(shù)博客重要性
當(dāng)然也有持不同觀點(diǎn)者,如Jeff Atwood(codinghorror作者)則認(rèn)為經(jīng)常分享自己的技術(shù)體會(huì)比coding更重要,能寫的人才能成為那5%。他曾經(jīng)橫穿北美,從美國(guó)西岸SanFrancisco到加拿大的東岸Montreal去給一個(gè)大學(xué)的學(xué)生講技術(shù)Blog的重要性。他在這篇IsWriting More Important than Programming(ppt, 3mb)演講中提到:
大部分我景仰的程序員都是通過其blog讓我景仰,而不是他的代碼
……大部分不寫blog程序員的理由有:太忙;寫了也沒人看;沒有合適內(nèi)容可寫;覺得自己不善長(zhǎng)表達(dá)等。
Jeff Atwood大部分觀點(diǎn)我是深表贊同的,可喜的是身邊樂于分享的越來越多。比如新浪開發(fā)者博客今年2月才開張,現(xiàn)在已經(jīng)有100多篇高質(zhì)量文章了。
另外我很敬佩的TopLanguage創(chuàng)建者劉未鵬也寫過一篇很有名的為什么你應(yīng)該(從現(xiàn)在開始就)寫博客,想必很多朋友都看過。
其他觀點(diǎn)
國(guó)內(nèi)曾翻譯過Erlang程序設(shè)計(jì)的Trustno1則認(rèn)為這5%的人必須是鉆研paper的人,而只是看看rss,熱衷于參加各種技術(shù)會(huì)議,搞搞各種可替代性很強(qiáng)的技術(shù)的人是不夠格的,他在某帖子中提到:
很簡(jiǎn)單的兩個(gè)標(biāo)準(zhǔn).
標(biāo)準(zhǔn)一,你看到一個(gè)問題的第一感覺”這個(gè)事情不學(xué)3-4年數(shù)學(xué)算法光靠搗鼓搗鼓API設(shè)計(jì)模式肯定搞不定”
案例一,老板讓你做一個(gè)從視頻里識(shí)別出人臉的程序.
標(biāo)準(zhǔn)二,但凡性能Critial又沒有現(xiàn)成方案的東西.
案例二,老板讓你做一個(gè)實(shí)時(shí)的全局照明渲染引擎.
原討論在這里 http://www.javaeye.com/topic/380651其中一些觀點(diǎn)也是有爭(zhēng)議的,不過話題已經(jīng)被鎖定不讓討論了;)
總結(jié)
想必看了上面這一系列,你對(duì)怎樣成為那5%已有自己的見解了。你要的答案或許不在這篇文章里,因?yàn)锽ruceEckel提到,大部分成為5%的人的經(jīng)驗(yàn)是只可意會(huì),不可言傳的。
話說第一個(gè)問題,在視頻中識(shí)別出人臉,已經(jīng)有opencv可以幫忙了。因此不算是特別困難了。
努力成為那5%。:)
開發(fā)效率并不是衡量程序員的唯一標(biāo)準(zhǔn)。
代碼可讀性、健壯性、可測(cè)性、運(yùn)行效率、并發(fā)能力、
等等等等
我現(xiàn)在就是天天訂RSS的人,感覺廣度有了,深度就….
剩下20%,也就是總數(shù)的5% ??
應(yīng)該是總數(shù)的4%啊
照你說的,總數(shù)為100
80%不奮斗的,剩下20個(gè)努力的,
20 * 20% = 4
故,。。。
環(huán)境也很重要。中國(guó)的程序員因?yàn)樯娴膲毫μ?,很難出優(yōu)秀的。
深有體會(huì),5%
英語(yǔ)底子差+高數(shù)不及格的心里陰影讓我怎么成為那5%啊
說得非常正確,有同感,現(xiàn)在我只需要和程序員聊5分鐘就知道他們是不是那個(gè)5%:)