比996更狠!以一当十的程序员?不存在的!

最近几天, “十倍工程师” 的话题在Twitter上引发了热议,话题有多热呢?可以说只要你最近上过twitter,你一定看过相关消息。

还不了解怎样才算“十倍工程师”?很简单,如果你的键盘是这样的:point_down:

|580xauto

你绝对是一个1倍 复制粘贴工程师;如果你只需要一杯咖啡,随时随地实现feature,那你就是妥妥的十倍工程师。

投资人Shekhar Kirani发了一条推文,建议初创公司牢牢把握住10倍工程师,声称:有些程序员能以一当十,创业有了这类人,成功率能够大幅提升。对于Shekhar Kirani的观点,有人赞同,有人反对,截止发稿,原始推文已经有 1.6k讨论、1.4k转发,4.5k点赞

是不是很好奇,Shekhar Kirani到底说了啥,竟然能带来这么大的“流量”?

Shekhar Kirani眼中的“10倍工程师”

1、10倍工程师讨厌开会,认为那是在浪费生命。

2、10倍工程师工作时间非常不规律,还总是躲着人。他们通常是夜猫子。

3、10倍工程师的笔记本屏幕一般是黑色,键盘的i、f、x键总是坏得更快。

4、10倍工程师知道每一行代码如何运行,出现问题时能准确地知道是哪里有bug,并且能非常快地完成修复。

5、10倍工程师大多是全栈工程师。

6、10倍工程师能把他们的思想转化为代码。给他们一个feature,他们能在4到6个小时完整实现,只需要一杯咖啡,绝不分神。

7、10倍工程师不看文档。

8、10倍工程师总是走在别人前头,学习最新的框架和语言。

9、10倍工程师不是好老师,不耐烦教别人。

10、10倍工程师不用奇技淫巧。

11、10倍工程师很少找工作或者辞职,除非被各种琐事烦得要死。

Shekhar Kirani的言论一出,在twitter发酵之后,各种关于“10x engineer”的梗层出不穷,甚至还衍生出了“10倍妈妈、10倍爸爸”。

又要马儿跑,又要马儿不吃草?

据了解,Shekhar Kirani来自印度班加罗尔,是一名投资人。但大家似乎并不买这位投资人的账,纷纷在 Shekhar Kirani 的推特下开启吐槽模式,“10x 工程师”一般人根本驾驭不了。

其中 Mozilla 的工程师 Mike Conley “讽刺版十倍工程师”的评论,以戏谑的方式得到了很多人的点赞支持。

12、十倍工程师,他们会浮空术。他们在白板上证明 P=NP 时用屁股蹦出 0 和 1 的屁来证明。他们在出生之前就不睡觉了,他们用双键盘打字。

13、他们不相信计算机,只相信软件。他们只吃最新版本的 Linux 内核源码。他们就像一个立体扬声器一样手拿笔记本举过头顶,站在你家外面。

14、他们头上不长头发,长的是以太网网线。他们可以默背敏捷宣言,并哼出 MacBook 启动时的声音。你会认识他们的,因为他们就在你家里。OMG 快跑啊!

15、他们不会去攻击 51 区,因为早就入侵进去了,并在区块链上放上外星人。如果他们盯着你看,你会原地爆炸。他们在你自己的房间里狩猎你,赶紧找车跑路吧。

16、他们喜欢用 USB 线清理牙齿,喜欢听老式拨号猫的声音。他们会用 Emacs 在他们用Perl 编写的虚拟机中重写 vim。他们死后会升天到《黑客帝国》。

17、他们总是喜欢用最大音量说话。他们常常突然停下来,望着窗外的雨滴,思考逝去的青春去哪了。他们内心深处想要一个抱抱。

18、当他们走进酒吧。酒保说:“等一下,我闻到了恶魔的味道”。而他们会说,「Wh͘a̶t ̕do͘ ͞y͠ou̧ ́ḿee͏èea͞nn͡ei̸n̨g̸éee̸eŗ10xx̵x̀xxNO CARRIER」

除了Mike Conley这种长篇大论来讽刺的方式,还有不少调侃 10x 工程师 的帖子。

有网友表示,10倍程序员大概是这样工作的:point_down:

还有人表示,要成为一个 10x 工程师,你要先吸了另外 9 个工程师的血。

10x.engineer VS 1x.engineer

在twitter讨论达到高峰的时候,甚至有人为“10x.engineer”和“1x.engineer”做了网站:

http://10x.engineer/

打开以后是查无此页,10 倍工程师不可能存在的!

http://1x.engineer/

打开之后是一些仿照Shekhar Kirani的“10x.engineer”所做的“1x.engineer”的特点,很多特质都是跟十倍工程师相反的:

比如,“是一个团队成员,他们参加同事必须参加的会议”就是对应十倍工程师的第1条“10倍工程师讨厌开会,认为那是在浪费生命”。

再比如,“向同龄人提供具有建设性、帮助性和策略性的代码审查,帮助他们的同龄人个人和专业成长”就是完全对应十倍工程师的第9条“10倍工程师不是好老师,不耐烦教别人。”

有Twitter 网友甚至直接表示,“Shekhar Kirani描述的是根本不是工程师,而是每一个老板都爱的没有感情的编程工具。”、“这种观点背后是一种一个病态的现象。初创公司的老板们希望工程师都是工作狂。程序员也是人!”。

十倍工程师:代码就像是艺术

面对争议,Shekhar Kirani本人解释说,大家只是没有遇到过这样的人,他们出色的技术会使你低头,忽略他们所有的缺点。

当然,有人diss,也会有人赞同。

twitter上就有网友评论称“有什么好争论的,本来就是事实。好的程序与一般的程序员,完全不是一回事!”、“ 实话说,10倍不敢说,2~3倍绝对有,对于初创公司来说,运维,美工,产品,前端,后端,测试,部署一个团队的时间成本,一个全栈工程师估计可以迭代几个版本了。”

更有有初创公司的CEO表示了赞同:10倍工程师热爱代码,代码对他们来说就像是艺术。他们会对此全神贯注。

也有网友通过解释字面意思来支持“10倍工程师”:10倍指的是最好的开发人员和最差的开发人员之间的差异,而不是最好的开发人员与普通开发人员的差异。同时,“10倍”并不精确,它只是一种简洁的方式,以此来标柱生产率的巨大差异, 并非准确数字

导读: “有些工程师能以一当十,创业如果有幸有这号人加盟,那么成功率就能够大幅提升。”自投资人 Shekhar Kirani 在 Twitter 抛出这一观点来,引发了极大的讨论,有人赞同,但更多的人却是反讽。截止小编翻译此文时,原始推文已经有 1500 多条讨论,1300 多次转发和 4300 多点赞:

今天,Jason Crawford 也参与了这一场讨论,分享了他对 10 倍工程师的看法。

今天 Twitter 上有好多人在讨论 10 倍工程师。

是否存在所谓的 10 倍工程师呢?这个“10 倍工程师”到底是什么意思呢?

这个话题引起了人们激烈的口水战,因为它触及了深刻的意识形态话题:是不是有些人比其他人更有才华,为什么是这样(以及它是天生的还是后天努力的),如果是这样,我们又该如何对待他人。因此,社交媒体上就爆发了激烈的争吵:一方面,人们都说 10 倍工程师是一个神话,一切都源于刻板印象,而且不管怎样,难道就没有更重要的事情?比如是否可以编写文档、指导其他工程师,或者仅仅只是做一个好人?另一方面,人们翻着白眼说,当然有 10 倍工程师了。任何不承认这一明显事实的人都被社会正义宣传蒙蔽了双眼,或者是不愿承认自己低人一等的失败者。

让我们现实一点儿吧。首先,让我们来做经验分析。

关于这项研究应该知道什么

对于这个概念及其基础的最好解释是 Steve McConnell 的文章“Productivity Variations Among Developers and Teams: The Origin of 10x”(《开发人员和团队之间的生产力差异: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。

作者介绍:

Jason Crawford,目前在 Flexport 任技术经理。曾任 Fieldbook 联合创始人兼 CEO,Fieldbook 是一家主打电子表格数据库的公司(类似 Airtable)。同时还是博客 The Roots of Progress 的博主。此前,还正在 Amazon 和 Groupon 担任团队负责人,并在其他几家初创公司担任联合创始人或早期员工。很久之前,曾帮助 D.E.Shaw Research 制造了一台生物技术超级计算机。

原文链接:
“10x engineers”: Stereotypes and research