千万不要惹程序员不开心,否则吃亏是你自己
是什么造就了最优秀的程序员?丰富的工作经验、优厚的待遇,还是多年的实践?答案都是否定的。在科技界,有一个奇怪的现象:来自同一家公司的程序员的水平相差无几。为什么会是这样?因为最重要的因素是程序员所处环境的舒适程度,这一点决定了他们的水平高低。
为了验证这种看法是否正确,美国软件工程专家汤姆•德马克(Tom DeMarco)和蒂莫西•李斯特(Timothy Lister)设计了一个名为“编码战争游戏”(Coding War Games)的研究。这项研究旨在确认最好的程序员和最差的程序员有哪些共同特征。
超过600名程序员参加了研究,他们来自92家公司,每个人都要设计、编码和测试一个程序,他们不仅要在上班时间完成编程,工作环境也与以前不变。此外,每名参与者都要与一名来自本公司的同事配对,但二人独立工作,相互间没有任何的交流——这也是“编码战争游戏”研究的一个重要特点。
研究结果表明,不同程序员的水平有着天壤之别:最好的是最差的10倍,顶尖程序员的水平是平均值的2.5倍。
当德马克和李斯特试图揭开程序员水平差距如此之大的谜团时,他们发现工作经验、待遇和完成这项工作所需要的时间等因素,都与之没有太大关联。
例如,拥有10年经验的程序员并不比只有2年经验的程序员优秀。一半能力处于平均值以上的程序员的收入还比另一半能力处于平均值以下的程序员少了10%——即便前者的水平是后者的两倍。相对于那些在编程中出现多处错误的程序员,没有出现任何错误的程序员完成测试的时间即便没有超过他们,但也没有少很多。
至于程序员之间的水平为何相差如此之大,这仍然是个迷,但有一个线索颇令人感兴趣:来自同一家公司的程序员的水平都差不多,即便他们不在一起工作。这是因为顶尖程序员所在的公司,会给予他们最大的隐私权和私人空间,同时让他们完全可以支配自己的物理环境,不受任何打扰。
62%最优秀的程序员说,公司十分尊重他们的隐私权,而表现最差的程序员中只有19%的人这样说。在表现最差的程序员中,76%的人说他们经常无缘无故被打扰,而在最优秀的程序员中,只有38%的人这样说。