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.iteye.com/topic/380651 其中一些观点也是有争议的,不过话题已经被锁定不让讨论了;)
总结
想必看了上面这一系列,你对怎样成为那5%已有自己的见解了。你要的答案或许不在这篇文章里,因为Bruce Eckel提到,大部分成为5%的人的经验是只可意会,不可言传的。
相关推荐
"IT职业规划与前景分析" IT职业规划是一个人职业生涯中的重要组成部分,它决定着一个人职业发展的方向和高度。在IT行业中,年龄是一个敏感的话题,很多人认为35岁是一个IT人生的分水岭,到了这个年龄,IT人就到了...
- **核心观点**:书中提出了一些重要且具有启发性的观点,例如“人月”概念的局限性、软件开发中“神话”与现实之间的差距等。Brooks强调了团队协作的重要性,并指出增加人力并非总是能有效提升软件开发速度。 ####...
- 新增章节探讨了在软件开发过程中不存在单一解决方案(即所谓的“银弹”),能够显著提升开发效率的问题。 - 作者还通过后续章节回应了对该观点的各种批评,并更新了自己的看法。 #### 三、《人月神话》的核心...
- **没有银弹:** 在《没有银弹》一文中,Brooks预测在未来十年内不会出现任何一种技术或方法能够显著提高软件开发的效率,这一观点引发了广泛的讨论。 通过《人月神话》以及其他相关作品,Brooks为软件工程领域...
Brooks认为,不存在单一的技术或方法能够在短期内显著提高软件开发的效率。相反,他强调了持续改进的重要性。 3. **软件开发的本质**:书中讨论了软件开发过程中的各种挑战,包括需求分析、设计、编码和测试等环节...
- **神话与自证预言**:作者强调了组织内部形成的关于“应该如何做事”的神话会逐渐变成现实,进而影响组织的发展方向。 - **技术创新与组织生存**:在技术公司中,持续的创新是生存之本,因此打破僵化的思维模式...
2. **敏捷开发**:虽然《神话人月》是在敏捷开发兴起之前的作品,但其关于项目管理的原则和方法仍然适用于当今的敏捷开发流程。例如,敏捷方法强调迭代开发、持续反馈和适应变化,这些原则与布鲁克斯提出的关于需求...
5. **《人月神话》**:Frederick P. Brooks Jr. 著,讨论了软件项目管理中的常见问题及解决方案。 ### 四、如何利用书单提升自己 1. **制定学习计划**:根据个人的兴趣和发展需求,从书单中选择合适的书籍,并制定...
- **心得感悟**:通过他们的亲身经历,传达了关于技术发展、职业规划等方面的深刻见解。 ### 总结 《2017阿里技术年度精选(上)》不仅仅是一本文集,它是阿里巴巴技术团队在过去一年中所取得成就的见证。通过对...