我可以分享一下我对这个话题的一些理解

图片 1

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

  最早期的程序员

  相比现代软件,相对于功能性,安全性,性能和可扩展性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)。这背后可怕的局面的主要原因,我才发现,是“恐惧”。因此很多企业,特别是实体软件外包企业,主要是害怕技术改变。软件开发是在模具,框架和工程方面的一个令人难以置信的快速变化的学科,需要不断变化才能到正确的地方。

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