避开管理
从之前的博客文章你大概能猜到,我不是一名管理者。在过去的几份工作中,我都明确表示对管理不感兴趣,只想做一名个体贡献者。我以前做过管理,但不喜欢。管理的好处——对项目有更多控制权、更高的薪水、更大的办公室——远远比不上它的缺点——更多的会议、更少接触代码、处理人员问题等等。
管理中最糟糕的部分是处理人员问题。在任何一群人当中,总有一个中位的绩效水平,根据中位的定义,有一半的人低于这个水平。而且总有一个人垫底。他总是迟到,总是运气不好,从不提交代码,等等。他很挣扎。也许正确的做法是让他离开,但我经历过这种情况。我曾经有过不适合的工作,表现不佳。我感同身受。当你处于那种境地时,最不需要的就是达摩克利斯之剑悬在头顶。那是一种可怕的处境,我不想加剧它。我宁愿放弃管理的好处,也不愿陷入必须解雇某人甚至威胁解雇他们的境地。
但我确实喜欢帮助别人。我喜欢指导和辅导。我通常能把握大局,帮助人们找到他们最能发挥效力的地方。作为一名高级工程师、技术负责人或架构师,我感到很自在。
排期很难。我有一个估算项目所需时间的经验法则:我取团队能给出的最佳估算,然后乘以三。如果我认为需要两周,我会告诉高层管理需要六周。这几乎总是一个现实的估算——我不是在 padding 或 sandbagging。当我得到我要求的时间时,我几乎总能按时交付。但管理层很少喜欢听到“六”这个数字,当他们希望是“二”的时候。
总有一些难以预料的开销。某天你来上班,发现基础设施宕机了,不得不花一整天修复它。或者你需要与另一个团队协调,花两天时间让大家达成一致。或者你发现所依赖的 API 还没有真正实现,不得不花一两天写一个变通方案。这些都会累积起来。作为一名贡献者,我 100% 忙于开发和救火,但管理者只想计算花在开发上的时间。
我遇到过的最好的管理者并不“管理”。他们不分配工作,不试图告诉我该做什么,也不试图指导项目。相反,他们充当我的外部记忆。我可以埋头解决某个问题,当我解决完问题、浮出水面时,他们会提醒我最初在做什么。他们会跟踪项目的最终目标以及我们朝着这些目标的进展,但不会试图指导活动。他们相信我懂得如何完成我的工作。他们充当促进者和赋能者,而不是管理者。他们会与高层管理对接。他们会处理政治问题。他们会为我要求的六周时间辩护。
所以我更喜欢做一名个体贡献者,像避开瘟疫一样避开管理。编程让我快乐,我不需要管理的压力。