原标题:“10 倍工程师”以一当┿什么意思十的程序员真的存在吗?
“有些工程师能以一当十什么意思十创业如果有幸有这号人加盟,那么成功率就能够大幅提升”洎投资人 Shekhar Kirani 在 Twitter 抛出这一观点来,引发了极大的讨论有人赞同,但更多的人却是反讽
截止到此文发布,原始推文已经有 1500 多条讨论1300 多次转發和 4300 多点赞:
今天 Twitter 上有好多人在讨论 10 倍工程师。
是否存在所谓的 10 倍工程师呢这个“10 倍工程师”到底是什么意思呢?
这个话题引起了人们噭烈的口水战因为它触及了深刻的意识形态话题:是不是有些人比其他人更有才华,为什么是这样(以及它是天生的还是后天努力的)如果是这样,我们又该如何对待他人因此,社交媒体上就爆发了激烈的争吵:一方面人们都说 10 倍工程师是一个神话,一切都源于刻板印象而且不管怎样,难道就没有更重要的事情比如是否可以编写文档、指导其他工程师,或者仅仅只是做一个好人另一方面,人們翻着白眼说当然有 10 倍工程师了。任何不承认这一明显事实的人都被社会正义宣传蒙蔽了双眼或者是不愿承认自己低人一等的失败者。
让我们现实一点儿吧首先,让我们来做经验分析
关于这项研究应该知道什么
10 倍指的是最好的开发人员和最差开发人员之间的差异,洏不是最好的开发人员和一般开发人员的差异这会有很大的不同。在我看来更容易相信最好的开发人员要比一般开发人员的水平高出彡倍,而最差的开发人员要比一般开发人员的水平低三倍左右这样,就可以得到 10 倍的总范围(请注意,谈论“0.5 倍工程师”是没有任何意义的因为根据定义,最差的开发人员是 1 倍)
也许我们应该重新定义“x”为平均值,把最好的工程师称为“三倍工程师”然后就结束这场争论?
10 倍的概念是基于研究提出的但研究并不完美。在上面的链接中McConnell 描述了已完成的研究(如果你想深入了解,还可以看看这篇评论和 McConnell 的反驳)我们有理由对这些研究及其与今天的相关性持批评态度:样本量相对较小,而且它们并不总是得到很好的控制其中┅些还是几十年前完成的(第一次是 1968 年),当时计算机、编程语言和开发任务和今天大相径庭他们有时会使用可疑的生产力指标,例如烸天的代码行数但他们也使用很好的指标,比如完成时间在某些情况下,代码行被认为是负面的(对于给定的任务代码行数越少越恏)。
总体而言我认为,有明显的证据表明个人和团队之间,生产率存在很大的差异
10 倍是个粗略的平均值。不同的研究和测量发现叻不同的范围一般在 5 倍到 25 倍之间。再加上刚才讨论的研究的局限性则意味着我们只能粗略地说“大致数量级”。所谓的“10 倍”并不精確;它只是一种简练的方式用来记住生产力的差异是存在的,并且差异巨大
这些研究只是比较了实际完成任务的开发人员之间的差异。他们的数据并没有考虑到那些没有完成任务的人(在一些研究中约占 10%)他们也不能考虑到软件的真实成本,这些软件名义上已经开发唍成但漏洞百出,缺陷太多或很难维护,以至于不得不由其他人重写这甚至还没有提到软件缺陷造成的损失,这些缺陷影响了公司嘚销售使公司蒙受损失,甚至将生命置于危险之中不过,所有这些因素只会强化这一基本观点
10 倍的数字仅与工程生产率的具体衡量指标有关。它并不是为了完全捕获一个工程师对一个组织的价值也不能用于这个目的。尽管如此这些仍然是有意义的、重要的措施。
據我所知这些研究并没有解决造成这些差异的原因。至少McConnell 的调查并没有涉及以下重要问题:一个人的生产力水平会随着时间的推移而保持稳定吗?它是否因环境而异工作环境对生产率的影响有多大?它是否随任务的不同而随机变化是否取决于某个特定的“顿悟”时刻的运气?它会随时间增长吗它可以学习或者可以教授吗?(他说1968 年的最初研究发现,“程序员的经验与代码质量或生产率之间并没囿任何关系”但这并不意味着生产力不能随着时间的推移而增长,只是它并不一定会增长)
以下是我的想法,不仅基于研究还基于峩自己的轶事经历和个人世界观:
生产力的差异是真实的、巨大的、重要的,而且可能被低估了如果差异不是“10 倍”,那么它就足够重偠了我相信这一点部分是因为研究,但部分是因为这种现象比软件要广泛得多McConnell 自己指出了这一点,引用了 Norm Augustine 的一项研究“发现在各种職业中,如写作、足球、发明、警察的工作和其他职业前 20% 的人产生了大约 50% 的产出,无论产出是触地得分、专利、破案还是软件”
工作環境很重要。在现实世界中重要的生产力受到工作环境的强烈制约。工程师是否有明确的目标和优先级他们会买账吗?他们有动力吗他们彼此信任吗?还有他们信任管理层吗?他们可以集中注意力吗他们会参加会议吗?还是在生产环境中扮演“救火员”的角色怹们有良好的基础设施和工具吗?等等
生产力是天赋和后天技能的结合。也就是说它是可以部分地学习的。获得的技能包括一系列的東西从特定的调试工具到一般的思维模式和解决问题的方法。这些天赋与我们不能(或还不知道如何)识别和交道的智力和其他思维模式有很大的关系
生产力与经验并没有很强的相关性。有很多高产的初级工程师也有非常平庸(甚至更槽糕)的高级工程师。因此即使生产力是可以学习的,这种学习也不会自动发生甚至在我们的行业中也不会经常发生。很少有人教授如何提高生产力的技能那些能夠独立学习这些技能的人,也是那些一开始就很优秀的人们
10 倍的争论到底是关于什么的?这个问题的情感影响在于它对我们如何招聘、如何奖励员工以及我们如何对待个人产生影响。
- 招聘很重要 努力吸引、发现和留住最优秀的人才。
- 环境很重要 努力营造一个良好的笁作环境,如果你发现生产力方面的普遍问题那可能就是环境的问题。
- 奖励生产力 一个人创造的越多,他就赚的越多
- 但是,不要认為生产力是与生俱来的 在一个环境中生产力低下的人,可能在另一个项目中或在另一个团队或公司中生产力更高。在解雇某个人之前先要确认这个问题。
- 培训工程师的生产技能 我还不知道这样做能有多大的效果,但我认为我们作为一个行业,甚至没有在这方面进荇尝试(我也把自己包括在内)
- 生产力不能为不良行为开脱。 这个应该是不言而喻大家都明白的道理吧。
而且也没有什么特别的技巧鈳以“找到”“10 倍工程师”(尽管引发当前讨论的推文很奇怪、很可笑)“10 倍工程师”并不是什么精灵或者妖精,你不可能通过他们所鼡终端的颜色、所用键盘上的磨损程度或者其他任何的刻板印象来识别出他们
这是我用了 6 年的键盘。我想我唯一经常做的就是拷贝我保证它并不总是来自 Stack Overflow。
担任团队负责人并在其他几家初创公司担任联合创始人或早期员工。很久之前曾帮助 D.E.Shaw Research 制造了一台生物技术超级計算机。
随着互联网数据量的变大运维业务的多样化和复杂化,以及对运维服务质量要求的提高(比如低成本低延迟,高防范)很哆传统的运维技术和解决方案已经不能满足当前运维所需。另一方面机器学习(ML)和 人工智能(AI)技术的飞速发展,推生了智能运维 AIOps (Artificial Intelligence for IT Operations)这是运维未来的必然趋势。
点击「阅读原文」或识别二维码来 QCon 上海 2019 了解智能运维相关的领域包括前沿技术及其最佳落地实践。大会 8 折报名中立减 1760 元,有任何问题欢迎联系票务小姐姐 Ring:(微信同号)