老码农的管理拙见
【引子】 尽管自己从业了20多年,也曾管理过从几个人到几百人的团队,但个人非常不愿意或者不敢讨论团队管理的问题,因为管理是以结果为导向的, 具有后验的特征,而且管理中面对的最大复杂性是人,每个人都是不同的个体,同样的成功经验换了一个环境就可能会失败,因此,有关管理的讨论往往是案例分析,就个案进行讨论,或者会到“人性”、“坐而论道”上来。然而,“大道易得,小术难求”。今年的春季窗口,几个年轻的朋友得到了不同程度的晋升,在周末请我喝咖啡,于是自己分享了一些关于管理方面的看法和体会,作为自己关于软件团队管理的一点儿拙见,拾录成文。
在职业生涯中,每个人的每一次晋升,工作就会发生变化,但并非所有的变化都是显而易见的,都必须改变心态,专注于培养新的技能,而这些技能常常与在以前的职位上获得成功的技能大相径庭。
互联网上有很多很好的资源可以用于帮助管理入门的人,也有很多书是为CTO或者高层管理人员设计的,但有关中层管理者的学习资料却较少。 虽然有些方法可以很好地从 CEO/CTO 等内容中转化出来,例如建立团队文化,但是可用的内容很少可以转化为软件技术团队的直接帮助。 更多人都对这些中层管理的实用建议感兴趣,因为大多数人都可能在那里度 过自己的整个职业生涯。
1. 从员工到管理新人
身在职场,你每升一级都要经历一系列的变化。最大的转变之一可能发生在你第一次从个人贡献者转变为管理角色的时候。
1.1 个人的影响变得难以衡量
作为一名个人贡献者,肯定要亲力亲为。日常任务和结果之间有一条直线: 你为团队产品的一个特性编写代码,一旦完成了,就可以在眼前看到这个特性。每当团队达到一个里程碑时,你就清楚地知道自己为团队的成功做出了哪些贡献,如你愿意,甚至可以量化这些贡献。
当进入管理岗位时,你就远离了那条直线。完成的工作不再是你自己的工作; 相反,你的角色是指导、激励和引导团队完成工作,同时保持与宏观愿景/战略的联系,使团队更容易完成任务。
这可能是新任经理最难适应的工作之一。他们只想挺身而出自己解决问题,但这实际上往往弊大于利。那些试图自己完成工作的人最终可能会陷入微观管理,或者成为项目的瓶颈。
新的管理岗位是通过清除障碍、简化流程和帮助他人提高生产力来解决问题。现在不是自己解决问题,而是创造一个其他人可以解决问题的环境。这才是管理者增加价值的方式。这是心态上的一个重大转变: 你如何看待自己以及如何定义你的成功。
1.2 衡量成功的指标变成了滞后指标
不幸的是,还没有了相同的荣誉,作为一名个人贡献者的荣誉是因为有自己以前的作用。简化流程和指导团队才是必不可少的任务,但很少有立竿见影的效果; 有时需要一段时间才能真正感受和欣赏你的工作效果。
当工作由别人完成时,你很难理解自己的影响力。当拥有一个强大的团队时,作为一个领导者所带来的价值可能很难判断或者看出来。随着你的职位越来越高,这一点变得越来越明显。
成功对你和你的团队意味着什么,可以通过成为上级组织和您的团队之间的连接来实现这一点。
1.3 沟通成为一项有价值的技能
领导力是建立在双向沟通基础上的,例如在你和你的领导之间,然后是你和团队之间),而在之前更多的是你和上级经理之间的一条单行道。
有效倾听的艺术对于清晰的沟通至关重要,而清晰的沟通对于管理成功是必要的。——James Cash Penney
必须经常与导层沟通,以便理解组织的更大愿景,然后你可以深入了解团队需要完成什么以及为什么要这么做。你必须与团队成员紧密合作,确保尽可能好的人完成最好的工作; 这很大程度上是帮助他们理解他们所做工作的整体影响。
必须比以往任何时候都更进一步地展望未来,不仅要看到你的团队今天正在进行的项目,还要看到它将如何与未来一到两年内将要完成的项目目标联系起来。
总而言之,这些是从个人贡献者到入门级管理人员的最大转变是:
-
放下那些来自于做事/构建/创造的即时满足感,随着晋升,你的赞誉和认可会变得越来越少
-
成就感来自于对团队和周围人的指导、成长和推进
-
通过清除障碍、简化流程和帮助他人提高生产力来增加价值
-
考虑一到两年内的项目和产品路线图
-
帮助团队将自己的工作与上级组织联系起来,帮助他们看到自己的价值以及对公司的影响
2.从管理新人到中层经理
当晋升为中层经理时,你已经拥有了一些管理技能和经验。虽然不像从个人贡献者晋升为管理新人的转变那么大,但是仍然有很多变化需要适应。
例如,应该熟练地放弃事无巨细的管理,而是信任团队中的人做好工作,也就是授权。然而,作为中层经理,其直接下属所做工作的风险正在增加。
2.1 与团队之间的信任
现在,你的产出不再是写一两天就能修好的代码,而是在做雇佣决定、绩效管理和驱动策略。其中的任何一个错误都可能会带来长期且代价高昂的后果,因此必须学会如何在信任团队与避免灾难之间取得平衡。如果一个中层经理很快成为了一个微观管理者,这会双向削弱你和团队之间的信任。
2.2 真正的要点
哪些地方需要修真,哪些地方可以相信,忽视你的直接下属会削弱他们对你的信任。关键在于理解什么是最重要的,以及这些决定如何影响整体战略。
为了正确地看待问题,可以设想在两到三年之后后,问问自己以下几个问题:
-
所有团队是如何组合在一起的?
-
如何分配资源?
-
哪些项目和人员对组织最重要的目标至关重要?
-
需要初级经理们从中学到什么?
-
哪些领域不允许失败,因此需要你自己的监督?
一旦理解了真正的要点,就可以实施正确的制衡,这样就能对自己做出的决定感到自信,并且有足够的时间在事情出错时做出调整。
良好的管理包括向普通人展示如何做优秀人才的工作。 —— John D. Rockefeller
作为一个中层经理,不仅有直接下属,还有直接下属所带的团队。这里有很多需要跟踪的事情。即便不能密切关注每一个团队成员,至少对他们每天花在什么上的时间有一个大致的了解。事实上,即便如此,仍然往往超出了个人的能力范围。
这就是为什么让合适的人担任关键角色变得至关重要。在工程团队中,文化可以建立在经理/产品层面,也可以建立在功能单元中。因此,拥有一些真正优秀的高级人员(技术人员、项目经理、产品经理和 UX 领导)可以帮助团队保持优秀和进步。与这些人保持持续沟通,确保他们知道自己对团队而言有多重要。
这并不意味着你可以完全忘记教练和指导。作为一名中层经理,帮助直接下属实现他们的职业目标仍然是重要的工作。
2.3 规划未来
随着在组织中的职位提升,一般地,你的下属也会随之晋升。但是,由于向你汇报的人承担着越来越重要的角色,则必须为接班人做好准备。
-
如果团队中最好的员工离开了,该怎么做?或者怎么做才能让最好的员工愿意留在团队里?
-
目前需要哪些资源,一年后又需要怎样的资源?
-
团队中的哪些员工,将来可能升职?
-
哪些岗位的人需要补充?
-
是否有团队成员已经超越了他们当前的角色,或者能够应对未来可能的需要?
需要不断地关注未来,不仅仅是管理员工,还要管理团队的工作和目标。寻找一个两到三年内的目标,然后建立一个系统方法能够到达那里。当管理多个团队时,需要找到方法让你更容易知道发生了什么:
-
你需要衡量和关注哪些指标? 为什么?
-
如何建立关于项目进展的可视性结构?
这可以通过多种方式来实现,从跨级会议到建立一个报告系统,自动指向关键数据点。不要只依靠一种方法,确保自己不会得到一个片面的看法。
最后,如何与自己的领导沟通这些关键指标? 如何与领导沟通成功和失败?
作为一个中层经理的成功更加难以定义,因为一整天所做的事可能看起来只是参加了很多会议,几乎没有及时而具体的产出。更重要的是,还必须从更高的领导层那里清楚地了解自己和所属团队需要取得怎样的成功,必须为了明天的大局而努力工作。
管理不过是激励别人。—— Lee Iacocca
中层经理的技能可能包括:
-
继续学习放开控制,允许团队成员犯错。在放权自治和潜在风险之间取得平衡,关注那些真正重要的事情。
-
人员管理仍然是指导,但是下属对他们报酬的透明度达到了一个新的水平。
-
思考未来。如何配置团队资源?优先事项的改变如何影响人员和资源的配置?推荐小而美的全栈团队。
-
接班人计划开始发挥作用。确保有一个可靠的计划来发展领导团队,并且为所有的关键角色保持继任者。
-
对进展和执行负责。跟踪正确的度量标准,并与你的领导层分享这些结果。
3. 从中层经理到高级管理者
当进入一个比工程师高几个层次的职位时,你的角色又会发生更大的变化。也许你要面对的最大变化是: 工作不再是“什么”而是“怎么做”。现在你管理着由若干独特的团队组成的组织,每个团队可能都有自己的文化、流程、优先级和操作模式。你必须决定团队应该在哪些方面具有相似性,以及什么对整个组织是最有利的。
当管理数以百计的人时,你会变得离那些做“什么”的人太远,因此,增加价值的方法是定义和简化“如何”,你的工作就是让整个组织成功。
3.1 建立团队文化
你已经无法了解到自己所管理的团队中发生的一切。如果试图让这部分工作成为自己工作的一部分,那么你将成为阻碍或者瓶颈,这是无法留住顶尖人才的。相反,应该为你的组织建立一种文化。一旦在正确的地方找到了正确的人,就需要后退一步,让他们来做这项工作。
企业文化很重要。管理层选择如何对待自己的员工影响着一切:无论是好是坏。——Simon Sinek
建立一种文化和价值观意味着什么? 需要自己尝试回答这些问题:
-
加入[公司名称]意味着什么?
-
你代表什么?
-
应该如何做出决定?
-
问题应该如何升级?
-
用什么原则来做出艰难的决定?
首先定义组织最重要的价值观,一定是清晰的定义,这是其他一切的基础。例如,一位朋友告诉我,他从来不为他主持的会议做预先准备。相反,在每次会议的前几分钟留出时间,让所有与会者阅读本次会议讨论的文件。在他看来,很少有人预先准备,这确保了剩余的会议时间是有效的。这看起来只是一个小细节,但是它表明了一个人对自己的价值观有着清晰的理解,并且他将这些价值观赋予了他的团队。这是实现团队文化的一个小方法。
高层管理者很大一部分工作是为内部工作和沟通创建和维护一个结构。哪些会议需要每周举行?按月,按季度,等等?多久与整个组织见一次面?如何分享公司的路线图,多久分享一次?
同样重要的是,要确定组织中的文化守护者。他们是经理吗?还是高级工程师?确保知道他们是谁,但也要确保他们知道自己是谁。让他们知道你了解他们的价值,帮助他们把自己看作领导者。
在这个级别上做的每一个决定都必须经过深思熟虑,并反映出组织价值观。一旦做出了决定,要开放地重新审视它。如果不起作用,那么就迭代更新直到起作用。
3.2 成长指导和人员管理
当有太多人的时候,如何与团队联系?需要尝试不同的事情,直到看到什么是最好的。不断尝试新事物,以避免陷入常规。
这里的方法可以让和那些向你汇报的人保持联系:
-
办公时间
-
与不同的团队共进午餐,随机选择小组,等等
-
零星的一对一
-
跨级会议
-
大型全体会议
-
定期通过电子邮件、视频等方式进行沟通
现在管理的人比你能在脑海中记住的人还要多,如果团队中的每一个工程师都觉得他或她认识你,这有关系吗?如果要管理几百个人,这可能是一个不可能的挑战。但是不要忘记,你的角色是这个层次上的组织,代表着公司及其目标。
你不会与每个员工都成为朋友,甚至不知道手下的每个人的姓名,但是努力让自己变得平易近人会帮助人们效仿你的做法。和你在一起工作的人越多,了解你的人越多,你就越能成为一个有效率的领导者。
核心是信任。人们需要信任你,你也需要信任他们。
管理的第一条规则是授权。不要试图自己做任何事情,因为你做不到。—— Anthea Turner
3.3 信任,但要核实
但是对于这种信任有一个警告: 必须核实。这可以采取多种形式,例如,可以以某种规则的节奏深入研究一个或两个程序。从主要参与者那里得到一个演示,并有时间询问关于工作、时间表和目标的问题。这样将有机会检查体系结构,指出危险信号,并确认进展是满足预期的。
正如创业公司一样,也可以设置每月更新或每季度的业务回顾。这些讨论提供了一个机会,让你回答那些正在做事情的人的问题,阐明对项目的愿景或目标,并确保团队的理解是一致的。这是一种更可持续的工作方式,而不是仅仅基于一堆状态报告来假设知道了什么进展顺利,什么不顺利。
你不可能每天都盯着每一个项目,但是可以建立一个系统,让自己和团队保持联系,这样就可以进行多方的有效沟通。
如果没有信任,那么尽快让那个人离开那个职位或者进入另一个职位,这是至关重要的。如果你不能信任团队中的核心角色,工作就不会有效。
3.4 监督和项目报告
在下属团队互相交流时,基本上扮演的是“你”,需要一个与你的愿景一致并且能够准确地向团队展示公司目标的管理者。如果你所说的和中层经理所说的不一致,情况就会变得很糟。同样地,如果你所说的与同事或 CEO 所说的不同,那也会滋生不信任。
管理层的工作是以引人注目和鼓舞人心的方式传达领导力的信息。不仅仅是在会议上,而且是以身作则。—— Jeffrey Gitomer
如果有些中层经理没有准确地代表你,那么需要尽快纠正他们或者替换他们。你应该坦率而清楚地告诉中层经理你的期望: 他们的工作是什么? 你的工作是什么?他们的工作就是深入了解公司的目标,以及他们的团队如何满足这些目标,并且告诉你哪些地方工作正常,哪些地方需要帮助。你的工作是支持他们的决策,并代表公司领导层进行清晰的沟通。
在你的职权范围内有如此多的人员和项目,定期获得以组织语言呈现的状态报告非常重要例如OKR,这能够尽可能有效地向上共享进展。然而,这些报告只能提供正在进行的工作的最简单视图。为了真正了解团队正在发生什么,必须与中层经理保持高质量的沟通。
一个诀窍是,每周挑选几个项目进行审查,查看关键指标、里程碑、截止日期和总体状态。这是一个快速、随机审计正在完成的工作的好方法,用来来洞察早期的危险信号: 有风险吗?依赖关系?需要做出哪些改变?为审查项目创建一个电子表格或其他结构化的格式,以便使用相同的语言对每个项目进行判断和讨论。
3.5 人才评估
你现在管理的是中层经理,重要的是考虑这些人和角色的未来,以及在有人需要被替换时制定一个计划。要特别注意识别你团队中的高潜力人才。他们是谁?他们得到了想要的了吗?他们未来的道路是什么?你可以向中层经理询问他们的建议,但是很可能有一些杰出人物甚至可以从相对距离上就能看得很清楚。
管理层对待合伙人的方式正是合伙人对待客户的方式。Sam Walton
你还应该识别那些对团队的成功或许过于重要的人。永远不应该有单一的失败点。如果一个关键人物离开了,公司会处于危险之中,那么现在的处境就非常糟糕,需要马上修正。找到为最关键的人员创建备份和冗余的方法。
确保自己参与了团队的招聘和评估过程,甚至是某些职位的面试环节。坐下来听听中层经理是如何给员工反馈的,以及是如何面试潜在的新员工的。这可以了解到很多关于团队文化是如何传播的。这也是一个发现危险信号的机会,而这些危险信号可能会带来真正的长期影响。
当有人真的离开时,一定要花时间做离职面谈。发现人员管理系统中的缺陷与发现代码中的bug一样重要。当一个人离开时,总会有一种内在因素和外在因素,试着了解这两者,并找到一种改进的方法。永远要寻找并检查你团队中最聪明和最不满意的人。他们会提醒你团队中的问题,这些问题现在可能很小,但将来会成为大问题。
3.6 管理自己的时间和资源
在这个执行角色中,工作永远不会停止,总会有比你能做的更多的事。这取决于自己决定什么是你时间中最有价值的方式。雇佣那些你信任的人,当专注于最重要的任务时,他们会帮助你更有效率。
做到这一点的一个重要方法是确保你有一个出色的助手或其他支持人员。找一个真正投入到这份工作中的人,一个你可以花大量时间在一起的人,让这个人明白如何让你的工作更简单更有效率。可以聘请一位幕僚长,作为二把手,在你不在的时候代表你为团队做决定。这是一个你会花很多时间在一起的人,一起研究各种想法,并确保你们的想法一致。这个角色可以是正式的也可以是非正式的,但是在这个角色中有一个你可以信赖的人是非常重要的。
和CEO 谈谈如何最好地利用你的时间。也和你的同龄人讨论这个问题。他们是如何打发时间的?他们授权什么?
确保,即使你委派了很多任务,你仍然优先考虑与客户的时间。对于你所做的所有内部工作,你很容易忘记组织外真正重要的人。如果你失去了与客户的联系,你就失去了与目标的联系。如果你不了解你的客户,你就无法有效地领导你的团队,所以在你的日程表中划出固定的时间来与客户保持一致是值得的。
3.7 制定五年规划
当考虑问题的时候,应该想得更远一些。关注未来的两到五年内问题并不罕见,陷入细节和战术工作中可能会分散注意力,但是当可以的时候,应该把这些工作委派给你那些非常能干的中层经理。帮助这个过程的一个方法就是简单地把它们都写下来。创建一个文档,定义你的优先级和高层次的目标。写下期望时间表,并概述实现它的策略。每年更新文档,并经常查阅它,这将成为你的向导。
保持一个开放的沟通循环,从团队到你直到CEO,再到你和你的团队。你是中间人,将通过倾听学会如何成功。
确保自己对所在的行业了如指掌。你不再是在解决眼前的问题,而是在展望未来。行业将走向何方?竞争对手在朝着什么方向努力?公司正在筹集资金、上市、扩大规模或者完全改变方向吗?
设定持续成长的目标,确保团队中的每个人都有目标。有些应该是长期的目标,有些则是实际的目标。创造一种文化,重视做重要的工作,完成团队的目标,而不是成为房间里最忙碌、最聪明或最吵闹的人。
最后,创建一个路线图并分享它,不必分享未来五年的每一个细节,但是一定要与你的团队和 CEO 分享你一直在做的事情。让人们与公司的愿景和自己站在一起,这样就会得到他们的信任和热情。
工作并不容易,但是在大体量上完成令人惊叹的工作可能就是你最好的经历。
【关联阅读】