“10倍工程师”:刻板印象和研究 - jasoncrawford

19-07-15 banq
                   

今天我打算写一些关于别的东西,但看起来Twitter上的每个人都在谈论“10x工程师”(10倍工程师)。

有10倍的工程师吗?无论如何,这个词甚至意味着什么呢?

这个话题引发了人们强烈的情绪反应,因为它涉及深刻的意识形态话题:一些人是否比其他人更有才华,为什么会这样(以及它是固有的还是可变的),以及我们应该如何对待人们。

因此,社交媒体上的激烈争吵:一方面,人们说10x是一个神话,它都是基于刻板印象,无论如何不是更重要的事情,比如你是否可以写文档或指导其他工程师或只是做个好人吗?另一方面,人们不以为然,说当然有10倍的工程师,任何不承认这个明显事实的人都是被社会正义宣传所蒙蔽,或者是一个不想承认自己的自卑的失败者。

让我们试着变得真实。首先,让我们进行实证研究。

对该研究有何了解

这个概念的最佳解释及其基础是Steve McConnell 撰写的文章“ 开发人员和团队中的生产力变化:10x的起源 ”。以下是关于“10x工程师”的关键知识:

  • 10x是指最佳和最差开发者之间的差异,而不是最佳和平均之间差异,这有很大的不同。在我看来,更容易相信最好的开发人员比平均水平高出3倍,而最差的开发人员的生产力要低3倍。这可以让你达到10倍的整体差价。(请注意,因此谈论“0.5x工程师”没有任何意义,因为根据定义,最差的开发人员是1x。)

    也许我们应该重新定义“x”为平均值,称为“3x工程师”中最好的,并结束整个辩论?

  • 10x概念基于研究,但研究并不完美。上面链接中的McConnell描述了已经完成的研究(如果你想深入研究,请参阅此批评McConnell的反驳))。有理由批评这些研究及其与今天的相关性:样本量相对较小,并且它们并不总是得到很好的控制。其中一些是在几十年前(第一次是1968年)完成的,当时计算机,编程语言和开发任务有很大不同。他们有时使用生产力的可疑度量,例如每天的代码行,但是他们也使用好的措施,比如完成时间,并且在某些情况下,代码行被认为是负面的(对于给定的任务,更少的行被认为是会更好)。

    总体而言,我认为有明显的证据表明,个人之间的生产力差异很大(而且稍微不同)。

  • 10倍是粗略的平均值。不同的研究和测量发现不同的范围,通常在5x和25x之间。这与刚刚讨论的研究的局限性相结合意味着我们不能说“大致数量级”。“10x”不准确; 它只是一种紧凑的方式来记住生产力的差异存在并且很大。
  • 这些研究只比较了实际完成任务的开发人员之间的差异。他们的数字没有考虑到甚至没有完成的人(在一些研究中约为10%)。它们也不能考虑名义上已经完成的软件的实际成本,但是它是如此错误,不稳定或难以维护,必须由其他人重写。而这甚至没有提到影响销售和为公司亏钱的错误的成本,甚至没有提到生命危险。但是,所有这些因素只会强调基本点。
  • 10倍的数字与工程生产率的具体衡量标准差不多。它并非旨在完全捕获工程师对组织的价值,也不能用于此目的。也就是说,这些仍然是有意义和重要的措施。
  • 据我所知,这些研究没有解决差异的原因。McConnell的调查至少没有解决重要的问题,例如:个人的生产力水平是否随时间稳定?它是否因环境而异,工作环境对生产力的影响程度如何?随着特定时刻的运气而随机变化的吗?它会随着时间而增长吗?可以学习或教导吗?(他说,最初的1968年研究“发现程序员的经验和代码质量或生产力之间没有任何关系”,但这并不意味着生产力不会随着时间的推移而增长,只是它不一定会这样做。 )

确定性是什么?

以下是我的想法不仅基于研究,而且基于我自己的轶事经验和个人世界观:

  • 生产力的差异是真实的、大的、重要的,并且可能被低估。就是差异不是“十倍”,那么它也已经重要了。我相信这部分是因为研究,但部分原因是这种现象比软件更广泛。麦康奈尔本人指出这一点,引用诺姆奥古斯丁的一项研究,“发现在各种职业 - 写作,足球,发明,警察工作和其他职业 - 前20%的人产生了约50%的产出,输出是否是落地作品,专利,解决案例或软件。“
  • 工作环境很重要。在现实世界中,重要的生产力类型受工作环境的制约。工程师是否明确了目标和优先事项?他们投入进去了?他们有动力吗?他们相互信任,还有他们的管理?他们可以集中注意力吗?他们随机参加会议吗?还是与生产火灾作斗争?他们有良好的基础设施和工具吗?等等。
  • 生产力是固有特征和后天技能的结合。也就是说,可以部分地学习它。获得的技能包括从特定调试工具到一般思维模式和解决问题的一系列事物。固有的特征与我们不能(或者还不知道如何)识别和教导的智力和其他思维模式有很大关系。
  • 生产力与经验没有很强的相关性。有非常高效的初级工程师和非常平庸(或更糟糕)的高级工程师。因此,即使可以学习生产力,学习也不会自动发生,甚至在我们的行业中经常发生。生产技能很少被教授,而那些独立学习它们的人也是那种善于开始的人。

结论

实际上关于10x辩论的内容是什么?这个问题的情感影响是它对我们如何雇佣、如何奖励人们以及我们如何对待个人的影响。

以下是我的结论:

  • 招聘很重要。努力吸引,发现和关闭最优秀的人才。
  • 环境很重要。努力创造一个良好的工作环境,如果你看到生产力的一般问题,那可能是一个环境问题。
  • 奖励生产力。创造更多的人,赚得更多。
  • 但是,不要认为生产力是个人固有的。在一个环境中非生产性的人可能在不同的项目或不同的团队或公司中富有成效。在解雇个人之前诊断问题。
  • 培养工程师的生产力技能。我还不知道这有多么有效,但我认为我们作为一个行业甚至没有在这里尝试(我把自己包括在内)。
  • 生产力不能成为不良行为的借口。这个应该不言而喻。

并且没有特别的技巧可以“找到”10x工程师。他们不是仙女或妖精,你不能通过终端的颜色,键盘上的磨损或任何其他任意刻板印象来识别它们。