程序员界有一个说法是"10x程序员",也就是"10倍程序员",意思是一个好的程序员,其工作效率可以达到普通程序员的10倍。这听起来似乎有些夸张,但是却是客观存在的真实情况。
由于软件研发具有高度灵活性,针对一个相同的任务,往往会有多种不同的解决方案可供选择,同时,每个解决方案又各自有不同的具体实现方法。这些不同的方案方法之间的效率差距就造成了程序员之间的效率差距。当要解决的问题比较简单、规模比较小的时候,这种效率差距还不太明显。而一但问题变得复杂之后,这些不同方案方法在设计复杂度、实现难度、可调试性、可维护性等方面的差距就会显著拉开,从而造成研发人员之间的巨大效率差异。
即使是在Facebook,在大部分开发人员的能力都比较接近的情况下,还是有一些特别突出的开发人员的水平可以达到平均水平的三四倍。
|你是否也曾为下面这些问题感到困扰?
团队角度:
1)加班也不少,但是产品发布还是常常延期,上线后产品问题频发。
2)从需求分析、产品设计、开发、测试到部署一个环节都不少,但最终发布的产品却与用户需求偏差很大。
3)产品发布上线时出现大量提交、合并,导致最后时刻出现很多问题,团队成员集体熬夜加班,却将大把的时间花在了等待环境、等待验证上。
4)开发提测质量不好,大量压力聚集到测试这一步,导致代码返工率很高。引入单元测试、代码审查,效果却不明显。
个人角度:
1)疲于应付业务,没有精力去精进技术。
2)工作过程中有大量的电话、即时聊天消息干扰,工作思路常常被打断。
3)对众多的工具(比如Git、命令行)的使用仅限于表层,工作效率较低,想提高却因为工具太多不知道从何下手。
4)有知识焦虑,但是没有找到好的办法系统地提高个人工作效率。
这其实是研发效能出现了问题。
|研发效能到底是什么呢?
一提到研发效能,很多人的第一反应都是