返回信息流5%的神话(关于开发效率与职业方向)
via Tim[后端技术] by Tim on 5/20/09
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程序员的理由有:太忙;写了也没人看;没有合适内容
可写;觉得自己不善长表达等。
Jeff Atwood 大部分观点我是深表赞同的,可喜的是身边乐于分享的越来越
多。比如新浪开发者博客今年2 月才开张,现在已经有100 多篇高质量文章了。
另外我很敬佩的TopLanguage 创建者刘未鹏也写过一篇很有名的为什么你应
该(从现在开始就)写博客,想必很多朋友都看过。
其他观点
国内曾翻译过Erlang程序设计的Trustno1则认为这5%的人必须是钻研paper
的人,而只是看看rss ,热衷于参加各种技术会议,搞搞各种可替代性很强的技
术的人是不够格的,他在某帖子中提到:
很简单的两个标准。
标准一,你看到一个问题的第一感觉“这个事情不学3-4 年数学算法光靠捣
鼓捣鼓API 设计模式肯定搞不定”
案例一,老板让你做一个从视频里识别出人脸的程序。
标准二,但凡性能Critial 又没有现成方案的东西。
案例二,老板让你做一个实时的全局照明渲染引擎。
原讨论在这里 http://www.javaeye.com/topic/380651其中一些观点也是有
争议的,不过话题已经被锁定不让讨论了;)
总结
想必看了上面这一系列,你对怎样成为那5%已有自己的见解了。你要的答案
或许不在这篇文章里,因为Bruce Eckel 提到,大部分成为5%的人的经验是只可
意会,不可言传的。
http://timyang.net/programming/mythical-5/
这是一条镜像帖。来源:北邮人论坛 / soft-design / #38050同步于 2010/4/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
[zz]5%的神话(关于开发效率与职业方向)
FadeToBlack
2010/4/16镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
这个5%跟我一直说的“金牌程序员”的概念很相似。一个有核心技术竞争力的软件(当然不是指那些网上一抓一大把的网站系统之类),里面总会有一小部分核心代码,比如说100MB软件里面的100KB。而这100KB代码,你找100个普通程序员来也搞不定的。
例如:
压缩引擎
加密引擎
纠错编码引擎
还有主贴上提到的:
智能识别引擎
3D渲染引擎
......