%5程序員

5%神話

Bruce Eckel(Thinking in Java/C++作者) 在他的5%的神話(Mythical 5%) 中提到: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%中的一員呢?

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

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

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

比如我們通常對各種編程語言優缺點熟記於心,我們通常可以脫口而出比如Erlang適合大併發場合等等。但是大部分人不會意識到很多場合語言並不重要。

因此如果你要成爲那5%中一員,你必須持之以恆的堅持學習,多學習編程是有好處的,但是僅僅侷限於瞭解編程是不夠的,比如類似以下經驗:

> 代碼被閱讀的時間比寫代碼的時間要長,如果你的代碼不能被人理解,則沒人會去改善或者修改其中的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)演講中提到:

大部分我景仰的程序員都是通過其blog讓我景仰,而不是他的代碼。

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

其他觀點

《Erlang程序設計》一書(人民郵電出版社圖靈公司出版)的譯者之一、盛大創新院研究員金尹(Trustno1)則認爲這5%的人必須是鑽研paper的人, 而只是看看rss,熱衷於參加各種技術會議,搞搞各種可替代性很強的技術的人是不夠格的,他在某帖子中提到:

很簡單的兩個標準。

標準一,你看到一個問題的第一感覺“這個事情不學3-4年數學算法光靠搗鼓搗鼓API設計模式肯定搞不定”

案例一,老闆讓你做一個從視頻裏識別出人臉的程序。

標準二,但凡性能Critial又沒有現成方案的東西。

案例二,老闆讓你做一個實時的全局照明渲染引擎。

總結

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

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