如何提升程序员10倍的生产力

  如何提升程序员10倍的生产力,你们都认为这是一个很是好的话题,今天就来分享一些我本身的观点:诚然咱们还不知如何准确的定义10倍生产力是个什么样的概念,但我我的认为它是指程序员在超生产的状况下,速度提高了十倍。基于一些成功的因素,同时我的在程序员客栈作项目经理,拥有300+项目管理经验,并与一些顶尖的程序员开发者工做过,我能够分享一下我对这个话题的一些理解。html

  最先期的程序员程序员

  相比现代软件,相对于功能性,安全性,性能和可扩展性20-30年前开发的软件就简单多了。在另外一方面,库或框架的只有少数人能够在那个时候实现任何功能。所以,写了20-30年前参与软件编程程序员是很是努力的。因此早期很容易肯定程序员生产力,顶尖程序员和普通程序员在实现相同功能的核心编程工做的价值跃然纸上。编程

  如今的程序员:设计模式

  在这里我想让让你们先弄清楚明白一件事情:软件开发是一个复杂的过程,而编程仅仅是帮助应用软件实现的方法之一。因为软件的使用量增长,特别是在互联网上,因为消费者和公司的层面的软件每每是很是复杂的,它多是一个疯狂的决定而且从头开始构建的东西。坦白说,除非这套系统是一个彻底颠覆式的操做系统,以现代软件的发展速度新的核心技术会一直淘汰旧的技术。尽管程序员开发须要大量的知识和精力,打造优秀的软件须要不少的人力物力,因此,在今天的背景下,程序员十倍的生产力可能没法对行业带来巨大的价值,可是十倍的程序员生产力的提高对行业的发展会起到普遍的影响。安全

  还有一些很是重要:架构

  1.作模型的最佳用法:框架

  软件开发是一个复杂的过程,它涉及了大量不一样种类的努力。除了编码,它涉及从记录过程的努力,以格式化数据,从读出的日志数据,来发送报告,从自动测试带,以手动进行测试时,从复杂的调试,手动调查的问题,等等,等等。巨大的努力可使经过使用合适的工具和平台(即适合于客户的预算和其余约束)的效率很是高。编辑器

  2,编程工具

  编写软件涉及一个或多个编辑者,其中一些也被称为IDE(集成开发环境)。现代的IDE,如Visual Studio或者Eclipse,提供的功能,使开发人员的生产量很大,但这些功能的显著量不被大多数开发人员称。流行的IDE也有商业和免费的插件(如ReSharper的),这使更多的开发人员的生产力获得提升。此外IDE的,其余编辑器如记事本++,MarkdownPad等也都是在相关的状况下很是有用的。性能

  3,公用事业和在线服务

  公用事业和在线服务,例如阅读或搜索大的日志文件,HTTP调试如小提琴般优雅,构建和部署工具等。

  4,本身的工具

  拥有十倍生产力的工程师也使用本身的一组工具来执行相应的软件,可是可能没法使用外部为其重复操做。在不少状况下,企业经营者在软件开发方面彷佛不太愿意投资太多的工具组,但使用正确的工具组将使程序生产力数量惊人的。对于软件开发人员,越是昂贵的人招致麾下,应该让他们去开发值得开发的工具。

  5.不要反复推倒程序员重写

  软件产业在过去三十年里已经变得很是成熟。几乎全部开发商都试图经过编码来解决全部的问题已经解决,并能够做为的API(做为二进制或Web服务),其中有些是商业,而有些则是免费的。此外,开源框架也提供了极大的灵活性须要被用户理解底层API的行为或定制。在作编程以前,拥有十倍生产力的程序员实际上应该确保这个问题尚未彻底解决的(或部分)以前,若是是这样,他们用起来会很是麻烦。

  6.不断收集精美的代码

  编写伟大的软件须要定义一个良好的架构,不只遵循良好的设计模式和原则,并且以现代基础设施的优点。不只生产精心设计的代码容许写新的功能,速度更快,并且还下降了错误显著。可是,精美的代码要求不断提升。我看到在个人职业生涯中,它连续增长技术任务在不一样的软件项目低质量的代码数量惊人。5年前开始一个简单的项目充满了非工程丑陋的代码,并要求20+的人来处理开发周期(他们花费80%的时间实际修复bug)。这背后可怕的局面的主要缘由,我才发现,是“恐惧”。所以不少企业,特别是实体软件外包企业,主要是惧怕技术改变。软件开发是在模具,框架和工程方面的一个使人难以置信的快速变化的学科,须要不断变化才能到正确的地方。

  变化是可怕的,可是不变的永远是变化,特别是在软件行业(用正确的成套工具和人),这是否是很危险。可是,若是如预期你们想像的那样,程序员就不会花费太多的时间,由于项目总会有一天被抛弃。

首发:http://column.iresearch.cn/b/201606/772036.shtml

相关文章
相关标签/搜索