最近在读《Software Engineering at Google》时,讲到了一些技术人员害怕转管理岗,我也有过相同的经历,记录一下 google 是怎么样处理这种情况的。
Google 会有三种角色,分别是工程经理(Manager)、技术主管(TL)、技术经理(TLM),如果是特别小的团队,这两个角色由一个人来担任(TLM),否则这两个角色有不同的人来担任。
工程经理
工程经理要对其团队中每个人的绩效、生产效率和幸福感负责,包括他们的技术负责人,同时还要确保他们所负责的产品能够满足业务的需求,由于业务的需求和团队成员的需求并不总是一致。
技术主管
团队的技术主管 (TL)通常会向该团队的经理(Manager)汇报,负责产品的技术方面,包括技术决策和选择、架构、排期、进度和一般项目管理(尽管在较大的团队中,他们可能会有项目经理帮忙),TL 通常会与工程经理携手合作,以确保团队为他们的产品配备足够的人员,并确保工程师能够完成任务,大多数 TL 也会参与开发,这通常迫使他们在自己快速完成某事或委托团队成员(有时)更慢地完成某事之间做出选择, 随着团队规模和能力的增长,后者通常是 TL 的正确决定。
技术经理
在工程经理需要强大技术技能的小型和新生团队中,默认情况下通常有一个 TLM:一个可以处理团队人员和技术需求的人。
在谷歌,较大的、成熟的团队习惯于有两位领导,一个技术主管(TL)和一个工程经理(Manager),作为伙伴一起工作,理论上说,要同时做这两份工作(好)而又不至于完全精疲力竭,真的很困难,所以最好是有两个人专门负责。
TLM 的工作是一项棘手的工作,通常需要 TLM 学习如何平衡个人工作、委派和人员管理, 因此,它通常需要来自更有经验的 TLM 的高度指导和帮助。
害怕成为管理者
大多数人在听到“经理”这个词时会感到普遍的不适之外,还有很多原因让大多数人不想成为经理,在软件开发领域听到的最大原因是花在编写代码上的时间要少得多,大家认为成为管理者会脱离代码,会每天有和种会议要参加,在写代码上面的时间会越来越少。
采苹果与种树的区别
如果你的职业生涯大部分时间都在编写代码,那么通常会在一天结束时得到一些可以量化的东西,无论是代码、设计文档,还是刚刚改完的一堆错误,然后说,“这就是我今天所做的事情。” 但在忙碌了一天的“管理”后,你通常会发现自己在想,“我今天什么都没做。” 这相当于花费数年时间计算你每天采摘的苹果数量,然后转而从事种植香蕉的工作,每天结束时只对自己说:“我没有摘任何苹果”,而忽略了正在生长的香蕉树, 量化管理工作比量化写代码更难,但让你的团队快乐和高效是衡量你工作的一个重要指标, 只是不要在种植香蕉时落入数苹果的陷阱。
Peter Principle
彼得原理
英语:Peter Principle)是管理学家劳伦斯·彼得在1969年出版的一本同名书,里面提出的“彼得原理”是指:在组织或企业的等级制度中,人会因其某种特质或特殊技能,令他被擢升到不能胜任的高阶职位,最终变成组织的障碍物(冗员)及负资产。
晋升的理由
然而,有充分的理由考虑成为 TL 或经理。
- 首先,这是一种提升自己的方式。 即使擅长编写代码,可以编写的代码量仍然存在上限,想象一下,在你的领导下,一个由优秀工程师组成的团队可以编写多少代码!
- 其次,你可能真的很擅长,许多担心自己不行的人,后来发现自己真的很擅长从事管理工作。 一个组织必须有人领导,那你为什么不呢?