5%的神話(關於開發效率與職業方向)

Bruce Eckel(Thinking in Java/C++做者) 在他的 5%的神話 (Mythical 5%) 中提到:java

5%的程序員開發效率是其餘95%程序員的20倍

(5% of programmers are 20x more productive than the other 95%)

按照80-20法則,80%的程序員幾乎不看書,不讀Blog,不參加技術會議,不持續學習。這些人也可能會進入大公司,他們日復一日的作着重複的 工做。另外20%則在專業方面比較主動,他們喜歡閱讀,喜歡學習,喜歡參加技術活動。這20%當中又會有80%的人可能不會特別成功,他們仍然走在通往成 功的路上奮鬥。剩下20%,也就是總數的5%的開發人員具有20倍的開發效率。程序員

那如何成爲這5%中的一員呢web

Bruce Eckel 的觀點:閱讀,分析,總結,實踐

這5%的人會習慣常常閱讀新技術,並喜歡參與各類有潛在價值的新概念的實踐,他們會有很是有選擇性的參與會議,大部分時間都花在有效率的事情上,將事情作成。算法

要想比別人效率高出20%,則須要在各個方面達到平衡,而不單只是能將事情搞定那麼簡單,所以你要使用最好的工具,最優秀的技術,並盡最大的努力。平衡點並 不是從明顯的事物上就能夠輕鬆得到,或者是被人告知的經驗,或者是大衆化的經驗。它須要本身摸索並發現事物背後的規律,須要本身去總結並發現。編程

好比咱們一般對各類編程語言優缺點熟記於心,咱們一般能夠脫口而出好比erlang適合大併發場合等等。可是大部分人不會意識到不少場合語言並不重要。設計模式

所以若是你要成爲那5你必須鍥而不捨的堅持學習,多學習編程是有好處的,可是僅僅侷限於瞭解編程是不夠的,好比相似如下經驗:api

  • 代碼被閱讀的時間比寫代碼的時間要長,若是你的代碼不能被人理解,則沒人會去改善或者修改其中的bug
  • Code review是最有成效的改善軟件缺陷的方法,但在咱們卻常常「沒有時間來考慮它」

因此除了精通編程以外,最好多看一些編程方法與協做的書,如並不傳授編程技巧的《代碼大全》之類的書。併發

Jeff Atwood (Coding Horror) 的觀點:技術博客重要性

固然也有持不一樣觀點者,如Jeff Atwood(coding horror做者)則認爲常常分享本身的技術體會比coding更重要,能寫的人才能成爲那5%。他曾經橫穿北美,從美國西岸San Francisco到加拿大的東岸Montreal去給一個大學的學生講技術Blog的重要性。他在這篇Is Writing More Important than Programming(ppt, 3mb)演講中提到:jsp

大部分我景仰的程序員都是經過其blog讓我景仰,而不是他的代碼編程語言

……大部分不寫blog程序員的理由有:太忙;寫了也沒人看;沒有合適內容可寫;以爲本身不善長表達等。

Jeff Atwood大部分觀點我是深表贊同的,可喜的是身邊樂於分享的愈來愈多。好比新浪開發者博客今年2月纔開張,如今已經有100多篇高質量文章了。

另外我很敬佩的TopLanguage建立者劉未鵬也寫過一篇頗有名的爲何你應該(從如今開始就)寫博客,想必不少朋友都看過。

其餘觀點

國內曾翻譯過Erlang程序設計的Trustno1則認爲這5%的人必須是鑽研paper的人, 而只是看看rss,熱衷於參加各類技術會議,搞搞各類可替代性很強的技術的人是未入流的,他在某帖子中提到:

很簡單的兩個標準.
標準一,你看到一個問題的第一感受」這個事情不學3-4年數學算法光靠搗鼓搗鼓API設計模式確定搞不定」
案例一,老闆讓你作一個從視頻裏識別出人臉的程序.
標準二,但凡性能Critial又沒有現成方案的東西.
案例二,老闆讓你作一個實時的全局照明渲染引擎.

原討論在這裏 http://www.javaeye.com/topic/380651 其中一些觀點也是有爭議的,不過話題已經被鎖定不讓討論了;)

總結

想必看了上面這一系列,你對怎樣成爲那5%已有本身的看法了。你要的答案或許不在這篇文章裏,由於Bruce Eckel提到,大部分紅爲5%的人的經驗是隻可意會,不可言傳的。

相關文章
相關標籤/搜索