优秀的程序员都有什么共同之处?工作经验?薪水待遇?完成任务花的时间的多少?事实证明,跟这些都不相关。
很奇怪,来自同一个公司的程序员们的表现都基本上处在同一水平。为什么?
这最重要的因素是他们所处的工作环境能给他们提供的舒适程度:“… 最能干的程序员所工作的公司几乎都能给他们最大的隐私权,最大的个人空间,最大的控制他们的物理空间的自由度,最少的外界干扰。”
来自: 《Quiet: The Power of Introverts in a World That Can’t Stop Talking》:
为了证明这些,DeMarco和他的同事Timothy Lister设计了一个称之为“Coding War”竞赛的研究计划。这个竞赛的目的是要能清楚最好的程序员和最烂的程序员都有哪些特征;大约有来自92个公司的600名程序员参加了竞赛。他们每个人都要设计,开发,测试一个程序,在上班时间,在他们平时工作的地方完成。每个参与者都有一位来自同一个公司的同伴。然而,他们之间相互独立,没有任何的联系。后来证明这是这个竞赛的一个至关重要的特点。
当结果出来后,这些人的编程能力被证明有着巨大的差距。最优秀的和最差的之间的效能比是10:1。顶级程序员比中等水平的程序员也要高出2.5倍。当 DeMarco 和 Lister 试图解开是什么导致这样惊人的差距时,那些他们以为可能的因素——比如工作阅历,薪资待遇,甚至完成竞赛题花去的时间长短——这些都跟这样的结果关系不大。具有10年工作经验的程序员并不比只有2年经验的表现的优秀。有一半处于中上等水平的程序员的收入比余下一半处于中下等水平的程序员的收入要少10%——尽管前者比后者的能力有的要高出两倍。那些编写出“零错误”程序的程序员相较于那些程序中有错误的程序员,他们完成竞赛题所花的时间更少,而不是更多。
这是一个迷,但是他们发现了一个很有意思的线索:来自相同公司的程序员或多或少都处在同一能力水平,即使是他们并不在一起工作。这是因为那些顶级程序员所工作的公司几乎都能给他们最大的隐私权,最大的个人空间,最大的控制他们的物理空间的自由度和最少的外界干扰。最有效率的程序员中有62%的人说他们的公司尊重他们的隐私,而相对的那些表现最差的程序员中只有19%这样说。最差的程序员中有76%的人说经常被没必要的因素干扰,而那些最优秀的程序员中只有38%这样说。