打破10倍速软件工程师神话

资讯 作者:CSDN 2021-10-08 17:04:01 阅读:364

作者 | Ari-Pekka Koponen
译者 | 弯月
出品 | CSDN(ID:CSDNnews)
领导们常常为高效的员工而感到自豪。实际上,从长远来看,软件组织中拥有“10 倍速工程师”可能意味着该组织注定要走向失败。
工程领导很容易将注意力集中在组织中表现良好的少数人身上,并围绕这些人开展工作。毕竟,这些是最聪明、最可靠的人,他们能够在最短时间内创建最佳解决方案。
相信每一位软件工程领域的从业者都见过这样的“大神”,他们总是能够完成其他人完成不了的工作。即便达不到“10 倍速”之高,至少也是“5倍”或者“3倍”工程师。只要看看日常工作信息,就可以发现似乎有些工程师天生就比其他人更高效。
然而,“10 倍速工程师”背后并没有可靠的科学依据。有关该主题最常见的研究是在几十年前完成的,当时的环境与如今完全不同,更重要的是,这项研究的样本数量非常小。最近的一项有趣的研究得出了截然不同的结论(参考链接:https://ieeexplore.ieee.org/document/8804291)。
在严格控制的环境内,大多数软件工程师之间的差异非常小。同一个人在多项任务中的表现也存在着明显的差异。某个人可能在某项任务中的表现超过了其他人,但在另一项任务中的表现就可能平平无奇。“总而言之,虽然程序员中某些人的表现确实比其他人更好和/或更快,但这种重要性和规模被夸大了。”
10倍速工程师的神话是一种工作中的确认偏差。

如果不仅仅是个人能力,那该如何解释生产力的差异?

 
当我们考虑到周围环境(即整个组织)时,很容易发现除了个人能力之外,还有多种因素会影响到绩效。两位工程师对目前使用的技术拥有相同的经验吗?他们熟悉正在使用的系统吗?他们是否拥有相同的能力,能够在忙碌之中做出决定?他们能否获得帮助?
下面,我们一边在脑海中考虑这些因素,一边再来看看某位“优秀的工程师”。你会发现他们会变得很平凡。人们喜欢英雄主义,喜欢与“最优秀”的人一起共事。这是一个令人欣慰的现实。坦诚面对组织中的挑战和现实是一件好事。程序员的表现会受到某些因素的制约,而且往往是很难(甚至无法)改变的因素。
举一个真实的例子,我曾经在一家公司工作,该公司的领导认为某位开发人员的表现远胜其他人。公司的 CEO 会走进开发人员的办公室,公开表扬(甚至当着外人的面):“有时我感觉X是唯一能够胜任所有工作的开发人员。”这位开发人员肯定感到特别自豪,而其他人则一脸失望。
没有人提到这位开发人员在过去的 15 年里一直在开发同一个系统,而且前 5 年几乎是独自一个人。而他本人也沉浸在“最优秀员工”的赞美中,十分享受。他在多达 5000 行的代码中添加了一些晦涩难懂的逻辑,而且也不愿意积极地与同事分享知识。多年以来,曾有一些非常有能力的开发人员加入了公司。但绝大多数人还是离职了。剩下的人乐得混日子,把所有英雄事迹都留给“10 倍速工程师”。后来,该公司在尝试扩大开发规模时,遇到了极大的阻力。
当然,这是一个非常极端的例子,但很好地说明了问题。拥有一小部分高绩效的工程师往往是大组织问题的表征,比如孤立、权力和责任的不平衡。这种状况与事物的自然秩序相违背,而与自然秩序对抗注定会走向失败。

制定更好的战略企业才能取得成功

 
从长远来看,仅凭几位 10 倍速的独角兽开发人员无法决定企业整体的成败。成功的关键因素在于提高公司每个人的平均绩效。从统计学的角度来看,这才是一种更可行的策略。
那些独角兽开发人员在公司工作的时间超过 5~10 年的可能性非常低——除非你有一家非凡的公司。即使他们留下来,也有可能会换团队,而且每一个围绕他们的行为建立的团队最后都会落得一地鸡毛。这会损害公司执行业务目标的整体能力。
相反,改善组织,提高员工的生产力才能获得最大收益。这种方法可以让工程组织中的更多员工取得成功。“在公司能有一番作为”的员工越多,组织取得成功的可能性就越大。这种认识能够让我们着眼于整体,将我们的注意力从个人转移到人群:团队、部门乃至整个组织。
这是个好消息。关于软件团队绩效有很多出色的研究。如果团队面临生产中存在太多 bug,或者无法快速交付,则可以参考 DORA 指标(https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance)。如果团队无法展开良好的协作,或团队成员没有主人翁意识,则需要学习如何培养心理安全。如果想了解开发人员生产力的整体状况,可以参考 SPACE 框架(https://queue.acm.org/detail.cfm?id=3454124)。
无论采取何种措施,成功的关键在于了解团队的瓶颈,并与团队共同采取行动来改善这种情况。有些问题需要一次性改变,而有些则需要逐渐习惯。所有的团队习惯都应该记录在一个共同的工作协议中,每个人都应该知晓和遵守。好的习惯会随着时间的推移而不断积累,并创建高绩效的团队和组织。


总结


对于大多数公司来说,寻找 10 倍速的独角兽工程师,努力招揽“顶级”工程师并不是最佳策略。相反,我们应该确保可以招聘并留住普通、有能力的工程师,并让他们发挥出最佳水平。能够将普通团队转变为高绩效团队的组织,才是真正的赢家,当然对于工程师来说,进入这样的组织也是一件幸事。
参考链接:
https://www.swarmia.com/blog/busting-the-10x-software-engineer-myth


10 月 23-24 日,“长沙·中国 1024 程序员节”重磅来袭。岳麓对话、技术英雄会、主题论坛演讲、第 16 届中国 Linux 内核开发者大会( CLK )、第 13 届中国开源黑客松等多场硬核技术竞赛纷纷亮相。此外,还有程序员吐槽大会、创新产品展与现场体验等诸多特色活动,邀你一起体验一年一度、专属程序员的盛大嘉年华!

腾讯视频、优酷、爱奇艺取消超前点播;苹果为小学生推出编程指南;Win11会导致游戏性能下降 | 极客头条

一个关于 TensorFlow 的悲剧故事

那些被无尽会议和领导错误拖累的程序员们!

在线申请SSL证书行业最低 =>立即申请

[广告]赞助链接:

关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注KnowSafe微信公众号
随时掌握互联网精彩
赞助链接