以一当十的程序员不是传说
May 21, 2015
昨晚,我发了下面的微博:
有些人议论所谓“10x”或者“超级”的程序员都是传说。可那些著名运动员,艺术家,作家,呃,还有摇滚明星的都是神话吗?
— Yevgeniy Brikman (@brikis98) September 29, 2013
我收到了大量的回复和问题,但微博不适合讨论问题,所以我写了这篇博格来进一步讨论。
已经有一 堆 的 文章号称10x的程序员根本不存在。反对观点一般分为以下三种:
- 最初10x这个数字来自一个研究(Sackman,Erikson, and Grant (1968)),不是很有说服力。
- 生产力是个很难测量的模糊概念,所以我们不应该声称诸如10x之
类的度量。 - 个人才华确有高低不同,但一个程序员不可能比另一个程序员高出10倍的工作能力。
我不同意以上的这些观点,我来逐条看一下这些论点。
[译者注]:10x程序员(10x效应来自一个有趣的观察:
Table of Contents
对10x程序员的研究不只有一个
尽管微博和Hacker News里那些坐在摇椅里的学术专家喜欢驳斥同行
Sackman, Erikson, and Grant在1968年进行的最初研究发现程序员的编程效率有巨大的差异。他们研究了平均有7年经验的专业编程人员,发现最好和最差的编程人员初次写代码所用的时间比率大概是20比1;调试时间大概是25比1;程序大小大概是5比1;程序执行速度大概是10比1。他们还发现,编程者的经验和代码质量的好坏并没有关系。
对他们的发现进行详细的考证,可以看出一些方法论上的缺陷。。。
然而,即使考虑了这些缺陷, 他们的数据依然可以呈现出最好和最差的程序员之间不止10倍的差 距。 在首个研究之后的几年里,“程序员之间倍数级的差距”这一发现被其他许多专业程序员的研究所验证(Curtis 1981, Mills 1983, DeMarco and Lister 1985, Curtis etal. 1986, Card 1987, Boehm and Papaccio 1988, Valett and McGarry 1989, Boehm etal 2000)…
即使不能测量,依然可以推理
即使你无视上面的研究,声称“编程效率”很难测量-那也表示我
比如,你是如何为你最近的项目挑选编程语言的?
当然,编程并不是个例:什么样的度量标准可以判断某个作家,
编程不是体力劳动
针对10倍效率程序员的最大问题是有些人认为编程不过是体力劳动
上面的逻辑听起来就像编程效率就是打字速度;好像10x程序员只
一个10x程序员有普通程序员无法企及的解决问题的能力和洞察力
编程是选择
想一想一个软件的构建需要做多少决定,比如一个网站:
10个普通程序员在每个阶段都可以做出“平均”水平的决定,
如果一个程序员可以以倍数级降低的工作量的方式来建模这个问题,
编程不是写更多的代码;是要写正确的代码。成为一个10x程序
这不是说10x程序员就完全不会犯错;
而且这并不只是说编程。你是更想要10个普通科学家呢还是牛顿?
10x程序员非常稀有
把目光放长远一点很重要。明星程序员,运动员,
然而,不要掉入所有的程序员生来平等的谬论。
本文的译者:素材不乱
素材不乱(网名)。通信与信息系统专业毕业。从事软件开发,是一位软件业里的妹子。工作之余,喜欢看书。目前在江苏南京。她的微博是@素材不乱。
0 Comments