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

    文章

    931

    浏览量

    29571
收藏 人收藏

    评论

    相关推荐

    可以编译运行的工程代码中不存在.ioc文件有办法生产.ioc吗?

    可以编译运行的工程代码中不存在.ioc文件,有办法生产.ioc吗?
    发表于 03-26 08:00

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员薪资
    发表于 03-06 21:32

    PSoC™ kit59开发KIT_A2G_TC387_MOTORCTR中是否存在程序员支持对PSoC™ 1系列MCU进行编程?

    PSoC™ kit59 开发KIT_A2G_TC387_MOTORCTR中是否存在程序员支持对PSoC™ 1 系列 MCU(如 cy8c29466、cy8c27xxx、cy8c21xxx)进行编程?
    发表于 03-05 06:47

    ping不存在的地址会咋样?ping和谁都不在一个网段的IP又会如何?

    ping不存在的地址会咋样?ping和谁都不在一个网段的IP又会如何? 当尝试ping一个不存在的地址时,会出现不同的结果,具体取决于网络配置和操作系统。以下是一些可能的情况: 1. 目标主机无响应
    的头像 发表于 02-04 11:21 458次阅读

    锁相环锁定后一定不存在频差吗?

    锁相环锁定后一定不存在频差吗? 锁相环是一种常用的控制系统,用于将输入信号与参考信号之间的相位误差维持在一个可接受的范围内。它通过调节输出信号的相位和频率来实现这个目标。然而,锁相环锁定后并不能完全
    的头像 发表于 01-31 15:25 229次阅读

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    。 如何正确看待鸿蒙? 我作为程序员来说,首先是看鸿蒙的发展、市场开发岗位、薪资以及前景。 这几年对鸿蒙的发展情况来分析,从2019年开始鸿蒙的出来今天,华为鸿蒙取得了很大的成就。从“不兼容
    发表于 01-16 22:13

    摩尔线程内部信:中国GPU不存在“至暗时刻”,越是困难越要加速前行

    但他还指出,很多挑战和要走的路还很长。他说,在挑战和机会并存的这个时刻,我想说的是,中国gpu不存在“至暗时刻”,只有“星辰大海”。摩尔线程从头到尾只有一项事业:打造中国最好的全功能gpu,我们将把这项事业做到底,任何事都不会影响我们坚定的决心。
    的头像 发表于 11-06 14:32 702次阅读

    喜迎1024程序员节!祝各位开发者们“码”到“程”功!

    祝各位开发者们,节日快乐! 程序员(Programmer)是从事程序开发、维护的专业人员。 对于奋斗在一线的程序员们来说, 10月24日 是一个特殊的日子,这一天是属于
    的头像 发表于 10-24 20:00 406次阅读
    喜迎1024<b class='flag-5'>程序员</b>节!祝各位开发者们“码”到“程”功!

    移植ARM DHCP服务器版本1程序员指南

    这本书由ARM DHCP服务器服务器软件提供, 假定ARM DHCP服务器移植源可以作为参考, 也假设您可以访问程序员的 C 和 ARM 组装语言指南。 本程序员指南是为有经验的内嵌系统程序员编写
    发表于 08-18 06:46

    霓虹灯程序员指南

    如果您对ARM技术完全陌生,请阅读Cortex-A系列程序员指南,了解有关ARM架构配置文件和一般编程指南的信息。 ·霓虹灯技术是ARM高级单指令多数据(SIMD)扩展的实现。 ·霓虹灯单元是执行
    发表于 08-17 06:32

    ARMv8-A霓虹灯程序员指南

    程序员,如固件、设备驱动程序或android内核开发人员•希望为基于Arm的目标设备优化库或应用程序程序员•非常热衷于Raspberry Pi爱好者本指南涵盖了如何开始使用Neon,
    发表于 08-08 07:25

    ARM系统跟踪Macrocell程序员模型架构规范1.1版

    ARM 系统跟踪大型电池程序员示范建筑规格V1.1 建筑规格
    发表于 08-02 10:11

    61.[程序员小飞]如何在3分钟内安装好数据库MySql和Navicat,简单又易懂

    程序员
    充八万
    发布于 :2023年07月20日 09:16:19

    Vemos D1 mini为什么在ESP8266Basic中不存在

    ,但出于某种原因,它在 ESP8266Basic 中不存在。编译器作者真的没有在他的产品中包含 I2S 功能还是我找不到相关信息?
    发表于 05-10 07:31