`

为什么5%的技术人员开发效率是其他95%的20倍?

    博客分类:
  • Java
阅读更多

Source: http://sd.csdn.net/a/20100820/278434.html

 

体会: 我们需要更多的时间来思考和体会程序的功能及如何实现而非coding,写技术博客也是非常重要的!

为什么5%的技术人员开发效率是其他95%的20倍?

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%的人的经验是只可意会,不可言传的。

分享到:
评论

相关推荐

    基于Spring Boot2+Vue3的一个现代化的Java应用开发框架,提高开发人员开发效率,降低企业信息化系统的开发成本

    Guns是一个现代化的Java应用开发基础框架,基于主流技术Spring Boot2,配套代码生成平台,DevOps运维平台,CI/CD持续集成能力,在线API接口管理,提高开发人员开发效率,降低企业信息化系统的开发成本

    13国外IT人员提高软件开发效率和效益的经验.pptx

    13国外IT人员提高软件开发效率和效益的经验.pptx

    大摩之后,高盛也拥抱AI:使用类GPT技术协助开发人员写代码

    华尔街正在拥抱人工智能。...他强调,人工智能不应被视为软件开发人员的替代品,而更应被视为帮助他们提高工作效率的伙伴。他说,在某些情况下,开发人员已经能够使用生成式AI自动编写多达40%的代码。 拥抱AI技术的,

    人工智能工程技术人员等职业信息.docx

    一、新职业信息 (一)2-02-10-09 人工智能工程技术人员 定义:从事与人工智能相关算法、深度学习等多种技术的分析、研究、开发,并对人工智能系统进行设计、优化、运维、管理和应用的工程技术人员。 主要工作任务:...

    技术部管理制度.doc

    为加强对公司技术部门工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率,形成整体高效的工作习惯,技术部工作人员应本着团结、协作、高效、严谨的作风更好的完成各项工作计划与任务,现制定...

    大数据项目组人员配置.pptx

    目前暂时由研发人员承担,这部分需要多少人需要什么人要研发来出建议 基础平台类 大数据项目组人员配置全文共27页,当前为第14页。 06 技术研发类 大数据项目组人员配置全文共27页,当前为第15页。 大数据架构师(近...

    人工智能技术在软件开发中的应用.pdf

    人工智能技术的不断发展和成熟,使得它在软件开发中的应用越来越广泛。人工智能技术的应用可以帮助软件开发人员提高效率、降低...未来,人工智能技术将在软件开发中发挥更加重要的作用,为开发人员提供更多便利和支持。

    IntegratedML技术简报:让机器学习变得更简单-2020.pdf

    • 为什么ML对企业的成功至关重要? • 人才短缺会在哪些方面阻碍贵司利用ML? • AutoML是什么?它将如何帮助企业决胜人工智能人才之战? • InterSystems IntegratedML™是什么?如何用它来实现以下目标? -帮助...

    ASP.NET 2.0网络开发技术

    希望本资料《ASP.NET 2.0网络开发技术》能给广大.Net技术人员提高开发效率!

    软件测试经典面试题 (超实用)

    8、您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 35 9、在您以往的测试工作中,最让您感到不满意或者不堪回首的...

    可用于不同的内容关键词,如网页布局、代码编辑、图像处理、网站优化等 该工具箱资源的主要用途是帮助开发人员提高工作效率和代码质量

    **适用人群:** 该资源适用于开发人员、测试人员、运维人员、数据分析师以及对计算机技术有一定了解的人群等。 **使用场景和目标:** 该工具箱的在线工具可以满足开发者在不同场景下的需求。例如,在开发过程中,...

    技术支持与售后服务方案设计.doc

    技术支持与售后服务方案 2018年11月25 目 录 1服务流程和相关机构3 2服务承诺4 3主要服务内容5 3.1技术支持5 3.1.1系统维护支持5 3.1。2电话热线支持6 3.1。3远程技术支持6 3。1.4现场技术支持6 3。1.5电子邮件支持7...

    3GPP长期演进(LTE)技术原理与系统设计 清晰电子版pdf

    这个标准采用OFDM、MIMO等先进的无线传输技术、扁平网络结构和全IP系统架构,支持最大20MHz的系统带宽、超过200Mbit/s的峰值速率和更短的传输延时,频谱效率达到3GPP R6标准的3~5倍,是一项重大的革新。...

    HashMap关系数据映射技术软件

    PVO软件包可用于简化JDBC数据库编程,同传统的数据库编程技术相比,可以将数据库编程效率提高数倍、甚至数十倍。新修订的PVO_v1.1,其通用性、健壮性及执行效率均有明显改进。现将PVO_v1.1软件包及其源代码对外公布,...

    基于AI技术的API开发工具,自动化和智能化快速高效开发API

    通过 AI 技术,可以自动识别 API 的需求和结构,生成相应的 API 文档和代码等内容,提高开发效率和质量。 详细内容请查看 README.md 文档,您可以访问 ApiCat的 在线 Demo 进行体验。 ApiCat 目前还在早期阶段,...

    2021全球前端技术大会(北京)PPT汇总(23份).zip

    主要面向各行业前端、移动开发、AI 技术感兴趣的中高端技术人员,大会聚焦前沿技术及实践经验,旨在帮助参会者了解大前端&移动开发领域的技术趋势与实践案例。 Vite:对下⼀代前端⼯具的思考 5G视频大时代下移动端...

    大数据与大数据技术.pptx

    技术更迭过快 开源产品成熟度 开发效率 与现有架构的关系 运维与安全 大数据技术的顾虑 ? 大数据与大数据技术全文共59页,当前为第12页。 大数据平台计算框架 传统数仓功能 非结构化流式挖掘分析 大数据与大数据...

    WEB开发技术 经验

    只有每个开发人员都按照一个共同的规范去设计、沟通、开发、测试、部署,才能保证整个开发团队协调一致的工作,从而提高开发工作效率,提升工程项目质量。

    ASP.net Ajax开发技术

    希望该资源《ASP.net Ajax开发》能给广大ASP.net Ajax开发人员,提高开发效率!

    嵌入式系统/ARM技术中的如何提高定制嵌入式设备开发效率

    应用开发人员不需每次都对他们编写的一项应用进行重复的劳动。工具和应用开发架构已获得了长足的发展,以至于应用开发人员能够集中精力创造附加价值,而无需担心底层的应用架构和细节。那么嵌入式系统的开发是否也...

Global site tag (gtag.js) - Google Analytics