下属能力不行,是培养还是放弃

71 阅读3分钟

我前段时间在知乎写过一篇回答:《你见过的最差的程序员是怎样的?》

那篇回答下面,有很多网友评论。

但有一件事,我当时没有写。其实,我前前后后花了两年多时间去培养他,最后才决定把他优化掉。

现在回过头来看,我觉得自己最大的错误,不是选择了培养,而是培养得太久了。

因为我一直都有一个管理理念。

能培养的,尽量培养。

团队要想长期稳定、高产出,不能总想着招人,更要想着把现有的人培养起来。

所以,那两年多里,我是真的投入了很多时间。

他每次提交代码,我都会认真做 Code Review,不只是指出哪里有问题,还会告诉他为什么这样写不好,正确的思路应该是什么,甚至写demo代码给看。

很多需求,我也会手把手带着他分析,一起讨论边界条件、异常场景,以及性能、安全、可维护性这些非功能性的需求。

我一直觉得,只要愿意教,再给一点时间,人总会成长。

所以,每隔一段时间,我都会告诉自己:

再给他一点时间吧。

结果,这个"再给一点时间",一给就是两年多。

直到最后,我才不得不承认:

不是每个人,都能培养出来。

就在今天2026年7月12日,我还在处理他以前遗留下来的问题。

他基本不主动去考虑边界条件、异常处理、性能、安全这些事情。只要功能稍微复杂一点,几乎都会留下坑。

有人可能会问:

那你不是一直做 Code Review 吗?

是的。

但我自己也得撸代码呀,还要带团队,也要负责大量业务需求和技术需求,很多核心功能都是我自己在写。

我不可能把所有时间,都花在审核一个人的代码上。

而现实就是,只要我没有仔细审核,他写的代码,当前或者将来,大概率都会出问题。

有的问题上线当天就暴露了。

有的问题当时看起来没事,几个月以后才爆出来。

今天周末,我处理的,就是其中一个。

因此:

一个长期不能独立完成工作的员工,占用的不是一个人的成本,而是整个团队的成本。

  • 他写代码,需要别人审核。
  • 上线以后,需要别人兜底。
  • 出了线上问题,需要别人救火。

看起来是一个人在工作,实际上却长期占用了另外一个人的时间。

而那个长期兜底的人,很多时候就是管理者,或者团队里的核心骨干。

时间一长,被拖慢的不只是一个人的产出,而是整个团队的效率。

这也是我后来为什么改变了自己的管理方式。

我依然坚持培养人。

但我不会再无限期地培养一个人。

我会投入时间,会手把手带,会认真做 Code Review,也会给他成长的机会。

但如果经过持续的培养和反馈,依然看不到成长的趋势,我就会及时止损。

因为管理者最大的责任,不是证明自己能培养所有人。

而是让整个团队持续创造价值。

所以,如果你问我:

发现下属能力不行的时候,是花时间培养他,还是干脆换掉?

我的答案是:

先尽力培养,但培养一定要有期限。