5%的神话(关于开发效率与职业方向) – Tim[后端技术]

来源:百度文库 编辑:神马文学网 时间:2024/04/28 03:54:26

5%的神话(关于开发效率与职业方向)

Tuesday, May 19th, 2009 by Tim | Tags: mythical

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

5%的程序员开发效率是其他95%程序员的20倍

(5% of programmers are 20x more productive than theother 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(codinghorror作者)则认为经常分享自己的技术体会比coding更重要,能写的人才能成为那5%。他曾经横穿北美,从美国西岸SanFrancisco到加拿大的东岸Montreal去给一个大学的学生讲技术Blog的重要性。他在这篇IsWriting More Important than Programming(ppt, 3mb)演讲中提到:

大部分我景仰的程序员都是通过其blog让我景仰,而不是他的代码

……大部分不写blog程序员的理由有:太忙;写了也没人看;没有合适内容可写;觉得自己不善长表达等。

Jeff Atwood大部分观点我是深表赞同的,可喜的是身边乐于分享的越来越多。比如新浪开发者博客今年2月才开张,现在已经有100多篇高质量文章了。

另外我很敬佩的TopLanguage创建者刘未鹏也写过一篇很有名的为什么你应该(从现在开始就)写博客,想必很多朋友都看过。

其他观点

国内曾翻译过Erlang程序设计的Trustno1则认为这5%的人必须是钻研paper的人,而只是看看rss,热衷于参加各种技术会议,搞搞各种可替代性很强的技术的人是不够格的,他在某帖子中提到:

很简单的两个标准.
标准一,你看到一个问题的第一感觉”这个事情不学3-4年数学算法光靠捣鼓捣鼓API设计模式肯定搞不定”
案例一,老板让你做一个从视频里识别出人脸的程序.
标准二,但凡性能Critial又没有现成方案的东西.
案例二,老板让你做一个实时的全局照明渲染引擎.

原讨论在这里 http://www.javaeye.com/topic/380651其中一些观点也是有争议的,不过话题已经被锁定不让讨论了;)

总结

想必看了上面这一系列,你对怎样成为那5%已有自己的见解了。你要的答案或许不在这篇文章里,因为BruceEckel提到,大部分成为5%的人的经验是只可意会,不可言传的。

11 Comments »

  1. hacker47 says: May 19th 2009 at 15:25

    话说第一个问题,在视频中识别出人脸,已经有opencv可以帮忙了。因此不算是特别困难了。

  2. zwws says: May 19th 2009 at 15:44

    努力成为那5%。:)

  3. xLight says: May 19th 2009 at 16:47

    开发效率并不是衡量程序员的唯一标准。
    代码可读性、健壮性、可测性、运行效率、并发能力、
    等等等等

  4. ttplay says: May 20th 2009 at 14:22

    我现在就是天天订RSS的人,感觉广度有了,深度就….

  5. ox0spy says: May 25th 2009 at 21:54

    剩下20%,也就是总数的5% ??

    应该是总数的4%啊

    照你说的,总数为100
    80%不奋斗的,剩下20个努力的,
    20 * 20% = 4
    故,。。。

  6. 金庆 says: May 26th 2009 at 09:47

    环境也很重要。中国的程序员因为生存的压力太大,很难出优秀的。

  7. 乐百事 says: May 27th 2009 at 18:44

    深有体会,5%

  8. fuadam1982 says: Mar 17th 2010 at 23:00

    英语底子差+高数不及格的心里阴影让我怎么成为那5%啊

  9. vpsee says: Apr 23rd 2010 at 04:03

    说得非常正确,有同感,现在我只需要和程序员聊5分钟就知道他们是不是那个5%:)