大厂的经理应该写代码吗?

这礼拜马一龙(Elon Musk)在给Twitter员工的邮件中提到:“所有的经理都应该写适量的代码,做不到这一点就好比长官不会骑马”。 我同意大厂的经理应该有一定技术背景,但最好还是不要让他们去写代码,要不然Oncall就要更忙了。

一般大厂的经理面试流程中都会有一两个代码/系统面试。今天上午我就做了一个经理的代码面试。顺便提一句,我忙的时候很喜欢选这类面试任务,因为整体过程一般很轻松,不用像工程师代码面试时讨论复杂的算法,也不用像行为面试时听对方讲故事做很多笔记😏。

我觉得针对经理的代码面试并不是在考察对方会不会写出很好的解决方案代码。更主要的目的是看对方有没有足够的工程素养和技术背景来面对与未来工程师间的高效沟通。比如我在面试时,会留意这些类型的细节:

  • 当面试问题需求不清楚时,对方会不会主动询问收集更多的信息。
  • 当题目约束条件相对宽松时,对方会不会考虑到使用不同的方法来对应不同的需求。
  • 当确定一种解决方法后,对方可不可以将其转化成代码进行沟通。

这些细节信息可以帮我判断这个工程经理有没有足够的技术背景来支持他/她将来的团队。相反我不会过于纠结一些工程师代码面试中的问题,比如代码中出现一些小错误或者答错了时间空间复杂度等问题。 毕竟我认为大厂工程经理主要的工作是来支持自己的团队,而不是亲自下场写代码(当然Twitter可能要例外了)。

如果让我来选择自己的团队经理话,我会希望他/她做好以下几件点:

  • 给团队中每个人充分的关心与支持,与大家建立良好的信任关系。这样团队才会更加团结。
  • 与大家一起制定团队目标,帮助团队与上一级大部门和公司的目标对其,做好项目的优先排序。
  • 和TechLead一起尽可能为大家找到适合自己能力、兴趣的项目。这样可以使大家可以更高效(开心)地工作。
  • 为团队中的每一个人制定明确的工作、升职目标,认可他们为团队做出的贡献,并支持他们最终达成这些目标。
  • 为团队赋能,帮助团队寻找新的机会和客户。与现有客户保持良好的关系,时时收集反馈信息,与团队一起制定改进方案。

当然最后一点是不要去碰团队的代码。我大概想了一下,这些年在我周围花时间去写代码的经理基本都不在了(有些人没有被辞掉,而是转工程师了)。究其原因,这些人可能没有理解(在我们公司)什么才是对于经理最重要的工作。

留下评论