我认识的“最差”程序员

标签: | 发表时间:2025-03-24 17:34 | 作者:
出处:https://x.com

《我认识的“最差”程序员》


衡量开发者生产力最棒的一点是,你能快速识别出差劲的程序员。今天我要和你讲讲我所认识的最差程序员,以及为什么我拼了命也要把他留在团队中。


几年前,我在 Twitter/X 上写过一篇关于我认识的最好程序员的帖子(也许我该把那写成一篇博客文章)。既然提到了最好的程序员,现在再说说最差的,也算公平。他的名字叫蒂姆·麦金农(Tim Mackinnon),我想让你知道他的生产力指标到底有多差。


当时我们在一家著名的软件咨询公司,为一家大型银行工作。这家银行决定引入个人绩效指标,美其名曰“用于绩效评估和个人发展”。经过管理层慎重讨论,他们知道不能简单地用代码行数或发现bug数量来衡量,因为这些指标太容易被投机取巧。


我们选择的衡量方式是统计每个人交付的用户故事数量(或者故事点数,具体已经记不清了,也不重要),因为它们代表了业务价值。当时用类似 Jira 的工具,每个开发者都会在自己的故事上签名,这让生成生产力指标变得极其方便。


接下来我们说说蒂姆。蒂姆的分数始终是零。没错,就是零!不是分数低,也不是下降趋势,而是彻彻底底的零分。每周都是这样,每个迭代都是这样,零分。


很明显,蒂姆必须走人了。经理迅速得出这个结论,并且让我去安排开除蒂姆,换一个真正能交付故事的人。


而我明确拒绝了这个要求。这甚至不是个艰难的决定,我只是很坚定地说了“不”。


原因很简单,蒂姆的生产力分数为零,是因为他从来没签过任何一个故事。他每天都在做另一件事:与不同的队友进行结对编程。


跟经验少的程序员搭档时,他会耐心地让他们主导,并通过启发式的方式引导他们找到解决方案。他不会强行灌输自己的想法,而是巧妙地通过苏格拉底式的提问,比如“如果这样做会怎样?”“还能怎样做得更好?”等等,引导他们逐渐获得洞察并真正学到东西。


与资深开发者搭档时,则更像是一场思想的碰撞、共同创造——每个人带着不同的视角来看待问题,最终得出比单独工作更优秀的方案。蒂姆本身就是个厉害的程序员,每次和他结对,你都会学到新东西。


其实,蒂姆交付的并不是软件,他交付的是一支能够持续交付高质量软件的团队。正因为有他存在,整个团队变得更加高效、更有生产力、更统一、更专业,也更有趣。


我向经理解释了这一切,并邀请他偶尔过来亲眼看看我们的工作。当经理来到我们团队时,总能看到蒂姆和不同的人坐在一起,专注于其他人的任务。你可以确信,只要蒂姆参与了,这个任务的质量就会显著提升,交付的周期明显缩短——是的,只要有足够的纪律,你完全能做到质量更高、速度更快且成本更低。


最终,我们把蒂姆留了下来。同时,我们悄悄放弃了个人生产力指标,改用团队责任制,关注并庆祝团队作为整体带给组织的业务成果。


总结一下(tl;dr):


你当然可以衡量生产力,我完全支持对工作成果负责的态度。最理想的方式是直接衡量以美元为单位的业务影响,比如创造了多少价值、节省了多少成本、保护了多少收益。但这通常不容易做到,因此用一些间接的业务指标也是可以的。


但是,千万别试图在一个复杂的、适应性的系统里衡量个体的贡献,因为这个问题的前提本身就是错的。


例如,DORA 指标的核心在于衡量工作系统本身,比如组织文化或技术变更流入生产的效率。它衡量的是整个引擎,而不是单独的某个活塞,因为单独评估毫无意义。

相关 [认识 程序员] 推荐:

我认识的“最差”程序员

- -
衡量开发者生产力最棒的一点是,你能快速识别出差劲的程序员. 今天我要和你讲讲我所认识的最差程序员,以及为什么我拼了命也要把他留在团队中. 几年前,我在 Twitter/X 上写过一篇关于我认识的最好程序员的帖子(也许我该把那写成一篇博客文章). 既然提到了最好的程序员,现在再说说最差的,也算公平. 他的名字叫蒂姆·麦金农(Tim Mackinnon),我想让你知道他的生产力指标到底有多差.

萌你没商量:带你认识最年轻的苹果程序员

- 龍渊冭子 - cnBeta.COM
外国网站CultofMac近日前开启了一项名为“Me and My Mac”的读者系列活动,意在收集广大读者与自己所拥有的苹果设备之间的故事. 在目 前所收集到的资料就当中,有一名非常年轻的苹果程序员引起了 CultofMac的注意,随后他们把她的故事搬到了网上,引起了许多网友的热议.

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

程序员的本质

- Allen - 译言-电脑/网络/数码科技
来源What do programmers really do?.   很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员. 另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题. 甚至不少程序员对他们是做什么的都没有清晰的概念.   在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:.

程序员人生之路

- myartings - 博客园-首页原创精华区
   程序员人生之路(强烈推荐,分析的透彻. ),某程序达人的人生感悟,估计没有半个甲子的时间,是绝对不可能感悟出来的.    相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心. 在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人.

程序员装B指南

- Qing-Run - 博客园-首页原创精华区
1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好. 一个用来查资料,一个用来写代码. 总之要显得信息量很大,效率很高. 2.椅子不一定要舒服,但是一定要可以半躺着. 3.大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善. 沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子.

程序员收入报告

- diaoxsh - cnBeta.COM
最近,波兰的程序员Chris(也叫KreCi)公布了他的第十四期程序员收入报告. 数据显示,上月是目前为止他收入最多的一个月. Chris的收入并不是指他的工资或薪水,Chris是一个自由职业者. 他的收入也不是来自个人承包软件工程的收入,他更像是一个果农,种了优良的果树,只要不断的给这些果树施肥浇水,这些果树会给他带来源源不断的财富.

程序员的利器-SourceInsight

- Alex - 博客园-首页原创精华区
作为程序员,大部分时间是在已有的代码上代码工作. 要对已有的代码进行调整,首先就要搞清楚当前代码中蕴含的逻辑关系. 所以常常有程序员调侃说花了大半天时间看代码,最后写代码的时间只有几分钟. 所以,对已有代码的分析质量将影响(甚至会决定)最终代码修改的质量. SourceInsight在代码分析上给予程序员极大的帮助.