1. 判断力
在开发复杂系统时, 有判断力(决断力), 懂得去选择简单正确的架构和方案, 先把系统做出来. 大部分的程序员并没有这种思考决断能力. 如果让他们自己做决策, 他们会陷入思维混乱, 面对多个选项时优柔寡断. 几乎每一次内心将要下决断, 都会被"性能优化"思想给驳回.
2. 持续改进能力
虽然大部分程序员没有开发一个完整系统的能力, 但是, 仅仅用最简单的方案把系统做出来, 还不是终点. 只要方案足够简洁, 第一版一般能满足短期需求, 也许不能满足. 但业务的发展要求系统必须持续优化和升级, 这就要求程序员持续投入体力活优化系统. 大多数的优化, 就是不断地增加几个判断, 多封装几个类. 系统的维护和改进, 大部分是体力活, 程序员如果不具备耐力和恒心, 将会很快放弃.