Kent Beck 这篇写给初级工程师的文章,最扎眼的一句话是:公司招你,不是为了让你多关几个任务。
这话反常。新人进团队,Jira 票、GitHub issue、迭代看板,哪个不在数任务?但 Beck 的判断很冷:如果公司只买今天的吞吐量,资深工程师自己做通常更快、更稳、更少返工。招新人,是在买未来。
他用了一个很准的比喻:新人工资,是为未来工程师支付的“期权费”。
任务数不是新人价值的核心指标
Beck 把新人粗略分成 A、B、C 三类。这不是正式绩效制度,更像一个老工程师对团队信号的拆解。
| 类型 | 团队看到的信号 | 对组织意味着什么 |
|---|---|---|
| A | 改变团队效率 | 不只完成任务,还让后面的任务更容易 |
| B | 稳定成熟 | 代码能跑,沟通清楚,时间合理,少制造额外成本 |
| C | 一年后可能不在 | 反复添乱,制造事故,伪装进度,重复犯同类错 |
B 的门槛不玄学。
代码能工作。别人知道你在做什么。任务能在合理时间内完成。出了问题能讲清楚,不把成本甩给 reviewer、on-call 或 devops。
犯错正常。重复发出同一种 C 信号,就不正常。
这比“新人要努力”有用。努力是情绪词,信号才是组织会记账的东西。一个新人真正要先证明的,不是“我很忙”,而是“我不会让系统因为我变得更乱”。
A 信号往往更慢,但长期更值钱
更有意思的是 A。
A 不是一个季度关 40 个任务,别人只关 20 个。Beck 的意思是,单看数量,信息太少。A 的核心是学习率和系统收益。
比如这些动作:
- 证明某个需求其实不用做;
- 找出 10% 工作带来 90% 收益的部分;
- 把一个大 diff 拆成连续小 diff;
- 先让困难改动变容易,再完成改动;
- 顺手改善设计,而不是只补一层胶带;
- 写内部工具,减少重复劳动;
- 把学到的东西写成团队可复用的总结;
- 做一个有洞察、响应快的 reviewer。
这些事有个共同点:它们经常比“赶紧关票”更慢。
这也是最容易被误读的地方。Beck 没有给新人无限拖延、沉迷重构的许可证。他仍然要求在合理时间内完成任务。区别在于,合理时间内交付,不等于把“最短时间关票”当唯一美德。
工程里常说“磨刀不误砍柴工”。问题是,很多团队只奖励砍柴数量。最后刀越来越钝,柴越劈越乱,大家还以为是新人产能不够。
这件事的历史味很重。早期工厂管理喜欢数件数,件数好算,质量、返工、协作成本难算。软件团队换了工具,旧毛病还在:把最容易量化的东西,当成最重要的东西。
不完全一样。软件不是流水线,工程师也不是计件工。但权力结构很像:指标越粗,行为越会向指标表演。
该观察的不是新人忙不忙,而是团队奖励什么
我更在意的是,这篇文章其实在讲工程组织的激励设计。
好组织买的是成长期权。它会看谁在降低维护成本,谁在减少认知负担,谁让下一次交付更轻。坏组织买的是廉价吞吐量,只看谁关票多、在线久、显得忙。
结果很现实。新人会顺着奖励长大。
你奖励关票,他就学会关票。大 diff、浅修补、重复劳动、隐藏风险,都会被短期指标喂大。你奖励清晰沟通、可审查代码、复盘和工具化,他才有动力把成长过程摊开给团队看。
对初级工程师,动作很具体:
| 对象 | 该做什么 | 别做什么 |
|---|---|---|
| 初级工程师 | 主动同步进展和阻塞;把大改动拆小;记录学到的东西;同类错误下次避开 | 用忙碌感替代交付;憋大 diff;遇到风险不说;把重构当拖延借口 |
| 工程经理 / 技术负责人 | 评估任务完成,也评估返工率、沟通质量、review 成本、是否减少未来工作 | 只按关票数排座次;把新人当便宜劳动力;嘴上要成长,会上只问吞吐 |
接下来最该观察的变量,不是新人一个月关了多少票。
看两件事就够了。
第一,团队 review 一个新人代码的成本是在下降,还是一直靠别人兜底。第二,这个新人做过的任务,有没有留下可复用的东西:更小的改动路径、更清楚的文档、更少的重复问题、更少的后续维护成本。
如果这两个变量在改善,任务数少一点,不一定是坏事。如果这两个变量没改善,关票再多,也可能只是把债务换了个地方堆起来。
对新人来说,别把自己包装成“便宜版资深”。你赢不了。资深工程师上下文更多,踩坑更少,速度也更稳。
新人真正能展示的,是可靠地变强,并且让别人看见你怎么变强。
对技术负责人来说,别一边抱怨新人不会思考,一边只奖励最粗糙的产出数字。激励像水,往低处流。你奖励什么,团队就长成什么。
Beck 这篇文章狠,但不刻薄。它把一个工程常识讲得很直:公司不是在买新人今天多关一个任务,而是在赌他明天少制造十个麻烦,后天能替团队省下一整条弯路。
