首先,10 倍指的是生产力,这是从项目角度来度量的。生产力体现在哪里?体现在开发效率、代码质量、设计健壮性、演化成本等方面。
其次,10 倍生产力是怎么获得的?两个方面。一是大量的设计经验,越是懂得如何处理各种分支场景和极端情况,设计出来的程序就越具有健壮性。这种健壮性可以在将来省掉很多成本。
二是大量的工具使用经验。这点我想单独强调一下,因为它其实被很多人忽略了,在面试中也很少被关注。
人的手工作业效率是非常有限的,想提升效率就必须用工具,工具越强大效率就越高,比如最近几年火起来的各种 CI/CD 和容器化,这就是被微服务架构逼出来的,必须用这些工具才能提升开发运维效率。所以千万不要贬低工具。比如你 IDE 使用熟练的话,基本上不存在一个字一个字的敲代码:
![](
)
开发者会要用到大量的工具,包括 SVC (源码版本控制)工具、构建工具、IDE 、数据库工具,甚至还要懂容器,懂运维。如今开发人员的工具多样性已经不是 JBuilder 、VC6 时代能比的了,很多工具依赖网络,网络出问题的方式也是五花八门,所以如今的小白程序员一旦遇到点问题,让他自己去解决的话半天时间就没了。