0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

10倍程序员到底存不存在

工程师人生 来源:简书网 作者:CodingNet 2019-11-08 16:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近关于 10 倍程序员的事又开始在各个社交平台火了起来,CODING 作为国内领先的一站式 DevOps 解决方案,今天也来讨论一下 10 倍程序员到底存不存在和这个概念到底意味着什么。

这个话题之所以会时不时被拿出来讨论,主要是因为它触及了一个比较深的意识形态问题:有些人是否比其他人更有才华,以及为什么会这样(这是天生还是后天可以改变的)。如果答案是肯定的,我们应该如何正确对待这件事。

因此,在各个社交平台的激烈讨论主要分成了两派,一边认为 10 倍程序员只是一个传说,是对程序员群体的刻板印象,而且比起讨论这个问题还有更重要的事去做,比如好好写文档或者带带实习生。而另一边则会翻个白眼告诉你 10 倍程序员当然是存在的,那些不愿意承认的人都是被各种正义宣传洗了脑,或者是一个不想承认自己的失败的自卑者。

关于 10 倍程序员的传说究竟如何,让我们来稍微解密一下。

关于 10 倍程序员的研究

这次风波的起因是在 7 月 11 日,Shekhar Kirani(在 Accel 印度的基金担任合伙人职位)发了一条微博:

声称 10 倍程序员是一种稀有物种并建议创业公司的 CEO 寻觅这种罕见的程序员,如果能找到一个 10 倍程序员作为你初始团队的前几名程序员之一,可以显着提高你的启动成功几率。并且还列举了诸如“仇恨会议”,“高度不规则”的工作时间,“可以高效将想法转化为他们心中的代码”,知道已经投入生产的“每行代码”,笔记本电脑屏幕背景颜色是黑色的等几条 10 倍程序员的特征。

我们暂且不讨论他的论断是否正确,其实在过去关于 10 倍程序员这个概念有着很多的讨论,其中比较有名的是 Steve McConnell 在八十年做的研究:Productivity Variations Among Developers and Teams: The Origin of 10x。从中我们可以提取出几个关键点:

1.10 倍程序员指的是最优秀的程序员和最差的程序员之间的差距,而不是和平均相比

这样其实更好让人接受,在我看来,更容易相信最好的开发人员比平均水平高出 3 倍,而最差的开发人员的生产力要低 3 倍。这样可以让你达到 10 倍的整体差价。

也许我们应该将“x”重新定义为平均值,称之为“3 倍程序员”,这样就不用吵来吵去了。

2. 10 倍程序员的概念的确是基于研究而来,但这并不代表研究是完美的

McConnell 在上面提到的文章中详细总结了之前关于 10 倍程序员的研究,但是这些研究在今天看来都略显过时并存在一定的缺陷,比如总样本量相对较小,并且并没有很好的把控变量。其中一些研究是在几十年前(第一次是 1968 年)完成的,当时计算机、编程语言和开发任务都和现在有很大不同。虽然他们采用了一些还不错的度量方式,比如任务完成时间,但是大部分度量方式是值得商榷的,例如每天的代码行数,并且在某些情况下,他们认为代码行数是负面影响因子(对于给定的任务,更少的代码量被认为是会更好)。

总的来说,虽然有些瑕疵,但还是有明显的证据表明,个人之间的生产力差异很大。

3. 10 倍只是一个粗略估计

不同研究发现的生产力差距存在一定的范围,通常在 5 至 25 倍之间。这与刚刚讨论的研究的局限性相结合,意味着我们不能说“大致数量级”。“10 倍”并不准确,它只是一种方便的方式来记住生产力的差异存在并且很大。

4.10 倍的数字仅仅是对代码生产力的衡量

它并非旨在完全衡量程序员对组织的价值,也不能用于此目的。也就是说,这些仍然是有意义和重要的措施。

5.这些研究并没有揭露造成差距的原因

据我所知,McConnell 的调查至少没有解决重要的问题,例如:个人的生产力水平是否随时间稳定? 它是否因环境而异?工作环境对生产力的影响程度如何? 它会因为项目的不同或工作内容的变化而变化吗? 它会随着经验而增长吗? 可以通过学习进步吗?(McConnell 表示最初 1968 年的研究“发现程序员的经验和代码质量或生产力之间没有任何关系”,但这并不意味着生产力不会随着时间的推移而增长,只是它不一定会这样做)。

生产力的差距是确实存在的

以下四个想法不仅基于研究,而且基于我们日常的观察:

1. 生产力的差异是真实的、重要的,并且可能被低估。

即使差异不是“十倍”,但是很多时候也会举足轻重,而且我相信这个现象不仅仅存在于软件行业。McConnell 本人就指出过这一点,引用 Norm Augustine 的一项研究:“在各种职业,无论写作,足球,发明,警察工作还是其他职业,一定都是前 20% 的人产生了约 50% 的产出, 无论是橄榄球中的达阵还是专利,解决案例或软件。”

2. 工作环境至关重要

在现实世界中,生产力其实很大程度是受工作环境制约的。程序员是否明确了目标和优先事项? 他们是否相信自己做的事情?他们有动力吗?他们能否相互信任?他们可以集中注意力吗?他们必须随机参加会议吗?他们有良好的基础设施和工具吗?等等。

3. 生产力是自身特征和后天技能的结合

也就是说,高生产力是可以通过学习来部分提高的。可获得的技能包括从调试特定工具到思维模式和解决方式等,通过这些来提高自己的生产力。但是自身的特性暂时还是不能(或者说还不知道如何)有效的识别和通过学习来习得的,这与个人自身的智力和思维模式有很大关系。

4. 生产力并不和过往经历强相关

有非常高效的初级程序员,也有非常平庸(或更糟糕)的高级程序员。因此即使可以通过学习来提高自身的生产力,但是学习的过程也不会自动发生,固步不前的程序员在我们的行业中也是很常见的。

最终还是归结到人与人之间的关系

关于 10 倍程序员的讨论归根结底是在讨论如何雇佣、奖励员工以及我们如何对待彼此。

所以我们总结出了如下的结论,希望对企业的研发团队有些帮助:

招聘环节至关重要: 尽可能地花更多的心思和时间去寻找最优秀的候选人。

创造良好的工作环境: 努力创造一个良好的工作环境,有很多生产力的问题都是由工作环境的问题造成的。

赏罚得当: 能正确地辨识工作的价值,让创造更多价值的人获得相应的报酬。

不要认为生产力的原因仅仅在于人: 在一个环境中生产力不足的人可能在不同的项目或不同的团队或公司中卓有成效。在解雇对方之前最好仔细分析一下问题所在。

即使是 10 倍程序员也不能放任自流: 这个应该是原则问题,不言而喻。

另外,再说一下开头提到的整场讨论的起因——我们认为发现 10 倍程序员的规律或者特质并不存在,他们不是什么特殊物种,不可能通过终端的颜色,键盘上的磨损,或任何其他刻板印象来识别它们。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    955

    浏览量

    30786
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 432次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 475次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    英伟达深夜发声:我们的芯片不存在后门,如何自证呢?

    GPU,有人怀疑这种情况已然存在。对此,英伟达明确表示,其 GPU 不存在也不应设置终止开关和后门。   英伟达强调,硬件完整性应不偏不倚且不容协商。几十年来,政策制定者始终支持业界打造安全可靠硬件的努力,政府也拥有诸多工具和方
    的头像 发表于 08-07 09:51 9057次阅读

    英伟达:我们的芯片不存监控软件 NVIDIA官方发文 NVIDIA芯片不存在后门、终止开关和监控软件

    今天凌晨,英伟达通过官微发布长文《NVIDIA 芯片不存在后门、终止开关和监控软件》。以下是全文: NVIDIA GPU 是现代计算的核心,被广泛应用于医疗健康、金融、科学研究、自动驾驶系统和 AI
    的头像 发表于 08-06 12:13 2226次阅读

    构建大规模Simulink模型的标准化最佳实践

    随着系统规模和复杂性的增长,工程团队面临着一系列在小规模上不存在的全新挑战。
    的头像 发表于 04-24 13:03 784次阅读
    构建大规模Simulink模型的标准化最佳实践

    用TLK3101作为3.125G光纤接口的收发芯片,TLK3101的Rx_CLK存在抖动和不连续,为什么?

    我在用TLK3101作为3.125G光纤接口的收发芯片,在进行两个设备间的通信时,发现TLK3101的Rx_CLK 存在抖动和不连续的情况。但将两设备的时钟采用同源时钟,则不存在此问题。两个设备都是使用TLK3101作为光纤收发的串并转换芯片。请问这种情况是什么原因引起
    发表于 02-13 08:06

    将两片TLK3101之间用光收发模块通过光纤互联,TLK3101和光收发模块之间的接口匹配不存在问题,为什么?

    我们将两片 TLK 3101之间用光收发模块通过光纤互联,TLK 3101和光收发模块之间的接口匹配不存在问题,光功率都在正常的范围之内 ,但在实验室测试中经常出现TLK 3101帧同步丢失
    发表于 02-05 07:22

    阿里云升级通义灵码AI程序员,全面上线

    近日,阿里云宣布其备受瞩目的通义灵码AI程序员已正式全面上线,为开发者带来更为强大和便捷的编程辅助工具。 此次上线的通义灵码AI程序员,在功能上实现了全面升级。现在,它支持VS Code
    的头像 发表于 01-09 11:16 960次阅读

    服务器数据恢复—如何让ZFS文件系统数据“起死回生”?

    一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测,基本上确定服务器硬件不存在物理故障。管理重启服务器后问题依旧。需要恢复该服务器中的数据。
    的头像 发表于 01-02 14:17 802次阅读
    服务器数据恢复—如何让ZFS文件系统数据“起死回生”?

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    对于低能注入(BR 2K),四点探针测量RS,为什么新针比老针的RS低?而高能注入RS不存在该情况呢

    对于低能注入(BR 2K),四点探针测量RS,为什么新针比老针的RS低?而高能注入RS不存在该情况呢
    发表于 12-20 23:05

    ADS8684的4个输入通道都存在一个1V的直流偏置,怎么解决?

    我们设计的硬件上,ADS8684的4个输入通道都存在一个1V的直流偏置, 如果把4个输入通道的串联电阻R632~R635都卸掉,那么8684输入引脚上的直流偏置就变为2V了。 对于具有双极性输入的ADS8684而言,我们希望其输入引脚上不存在任何直流偏置的,这个问题该如
    发表于 12-16 08:22

    DS90UB960Q1接四路摄像头视频的话,可以同时显示的不存在切换的关系吧?

    我想请问下关于DS90UB960Q1 四路摄像头配置问题: 1.这颗是HUB,接四路摄像头视频的话,可以同时显示的不存在切换的关系吧? 2.同时显示四种不同的画面,请问是使用非重复模式还是重复模式呢?
    发表于 12-11 08:09

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册