1

这是公司最糟糕的程序员,但是我坚决要留住他!

 11 months ago
source link: https://blog.csdn.net/coderising/article/details/132749338
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

这是公司最糟糕的程序员,但是我坚决要留住他!

original.png
码农翻身 newCurrentTime2.png 于 2023-09-07 08:55:53 发布 articleReadEyes2.png 2829

我在一家著名的软件咨询公司工作,有一天,公司决定对开发人员的个人绩效进行度量。

这个目标很美好:评估个人能力,帮助开发人员成长。

指标经过层层分解,来到我们团队,经过经理的认真讨论,决定不使用代码行数和Bug数这样的指标,因为它们太容易被玩坏了。

d9214b0e05ee0fe9bb1295463744c8d5.png

那用什么呢?用Story Point(用户故事点数)。

这是一个敏捷软件管理和开发中的一个度量单位,用于估计实现一个用户故事的复杂度。

e2a17b39b6fce505ab4aeed66b26f8c6.png

因为用户故事代表了给用户带来的商业价值,所以记录下每个开发人员实现了哪些用户故事,评估他们的绩效是很合理的。

我们使用Jira,每个人都可以把自己的名字和用户故事关联,从而认领一个用户故事,并且统计每个人的生产率也超级方便。

a18c2a0f321143c9e6ac7912fd9c447c.png

很快,经理就在统计报表中发现了一个最糟糕的程序员,Tim。

Tim这个人的“得分”(用户故事点数)一直为0!

他的得分并不是从高到底降下来的,而是一直保持着0的记录。

很明显,绩效低下的Tim必须得走人。

经理让我安排人去接手Tim的工作,但是我坚决拒绝了。

Tim的“分数”一直为零,是因为他从来没有认领过任何的用户故事!

相反,他的工作方式非常独特,他把他的时间都花在了和别人进行结对编程上。

5daa50fbb074eb0d2eeac193b74336af.jpeg

对于经验不足的开发人员,Tim会让他们充当结对编程中的导航者角色,帮助他们来找到解决方案,Tim不会嘲弄,压迫这些新手,而是采用苏格拉底的启发式来引导他们,给他们带来顿悟时刻。

和有经验的开发人员结对时,编程就是充满争吵的共同创造,用不同的视角来解决问题,创造出比单个人能想象的更好的东西。

Tim是一个出色的程序员,和他结对你总能学到新的东西。

所以Tim的名下没有交付任何用户故事,但是他交付了一个团队,这个团队变得更加高效,有生产力,更加卓越,更加有趣。

这一切,都是因为Tim在团队中。

我向经理解释了Tim的情况,邀请他时不时到团队来看一看。

每当经理出现的,他都能看到Tim和不同的程序员坐在一起,帮助这些程序员完成他们的事情。

你可以肯定,代码质量在显著变好,开发时间在显著缩短。

是的,更好,更快,并且更加省钱。

最后,我们留下了Tim,并且悄悄地干掉了衡量个人生产力的指标,取而代之的是衡量团队的绩效,即我们这个高效的团队能给整个组织带来什么价值。

6340767c5543f32d13c47151ec6b58d4.png

后记:这篇文章在Reddit和HackerNews上引发了激烈的讨论,我这里摘录几个:

Luke22_36:编程行业还没有完全接受这样一个事实:编写软件是一项创造性工作,虽然有很多的技术性,但仍然是一门艺术。然而,我们看到的管理方法更像是生产可重复产品的工厂,而不是艺术工作室。

Stratoscope:大约 20 年前,我在一家中等规模的软件公司工作,该公司销售 Mac 和 Windows 桌面应用程序。

该团队主要拥有丰富的Mac 经验,但是刚刚接触 Windows,所以Windows版本自然也存在一些问题。

当时,我被称为“Windows专家”,因此他们聘请我来帮助改进软件的Windows版本,并帮助团队熟悉Windows编程。

我经常把一天的时间花在“上门拜访”上:去其他开发人员的办公室,结对编程,fix bug,或者只是谈论 Windows API 的最佳实践等。(是的,我们都有私人办公室!)

几个月后,我收到了一条绩效平庸的评价:“你的生产力并没有达到我们所希望的水平,特别是在团队其他成员生产力提高的情况下。”

James: 这让我想起贝尔实验室的一件轶事,有人想计算出谁是最有生产力的员工(根据获得的专利等信息),发现他们中的许多人会与同一个人共进午餐。

这个人的工作效率并不高,但他总是会提出深思熟虑、引人注目的问题,从而使他的同事的工作效率明显提高。

对于Tim的故事,你怎么看呢?

原文链接:

https://dannorth.net/2023/09/02/the-worst-programmer/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK