工程领导者的职责之一是支持队友自我发展。培养一支拥有知识渊博、经验丰富的工程师的高绩效团队应该是管理者的最终目标。但这也伴随着恐惧(我在与工程领导者一对一交流时多次遇到这个问题):
“如果那些人比我聪明怎么办?我该如何管理他们? ”
在这篇文章中,我将分享一些来自实用工程管理的技术和材料,这些技术和材料将帮助您领导一支具有强大技术技能和丰富专业经验的高级人员团队,并且您不能用命令和控制管理方法来约束他们。
根据维基百科,“管理”一词的词源如下:
英语动词 manage 源于 15 世纪法语动词 mesnager,在马术语言中,该词通常指“用手握住马的缰绳”。意大利语中 maneggiare(处理,尤其是工具或马)也是可能的。在西班牙语中,manejar 也可以表示统治马匹。这三个术语源自两个拉丁语单词 manus(手)和 agere(行动)。
“手握马缰”听上去有些极端,但这在某种程度上反映了新晋工程经理们的默认行为。
管理中的行政部分确实需要(例如管理期望、时间表、资源、成本等)。但是,与技术人员合作有比告诉他们做什么和怎么做更有效的方法。
作为工程领导者,您的工作不是管理人员,而是管理他们的才能、潜力和成长。您可以这样做:
- 通过期望进行管理
- 通过问题而不是解决方案进行管理
- 通过目标进行管理
- 通过原则进行管理
通过期望进行管理
告诉人们做什么以及如何做有很多缺陷。通过微观管理,你无法充分发挥你的直接下属的潜力。你也会成为瓶颈,因为每个人都依赖于你的明确指示。
不要发号施令,而要改变叙述方式,提出一些具体的期望:
- 期望团队解决给定的问题。
- 期望工程师对自己的工作负责(例如,监控其服务的健康状况或使服务保持最新状态)。
- 期望满足特定要求(例如,质量 KPI、非功能性要求等)。
通过这种方式,你可以向团队展示预期的结果,同时让他们弄清楚如何正确地做到这一点。
要扩展您的期望管理实践,请超越目标评估。
与队友讨论绩效时,应该考虑以下三个基本方面:
- 技能
- 影响
- 态度
优秀的软件工程师应该具备所有这些素质。这不仅仅意味着成为一名优秀的开发人员或软件架构师(硬技能)。这也不意味着成为一名优秀的公众演讲者或一名得体的谈判者(软技能)。
通过解决问题来管理,而不是通过解决方案
软件工程中常见的一个陷阱是,我们在定义要解决的问题之前就急于提出解决方案。如果你作为经理,让你最优秀的员工实施解决方案,而不是解决问题,那么你就剥夺了他们找到正确解决方案的机会。
在我们生活的复杂世界中,您最初想到的解决方案很少是最佳解决方案。复杂问题可能有多种定义,但最终没有一种是正确的。一个问题可能有多个利益相关者,每个利益相关者都有自己的解决方案,这些利益相关者可能有不同的权力来表达他们的偏好(房间里最吵闹的人、组织结构图上最资深的人或那些喜欢保持沉默的人)。
因此,在深入研究任何问题、任务或挑战之前,请先尝试回答以下问题:
- 问题是什么?
- 问题背后的事实是什么?
- 问题的根源是什么?
- 谁受到该问题的影响?
- 解决这个问题值得吗?它是否符合更广泛的目标和战略?
- 解决该问题有哪些选项?哪些是最佳选项?
- 实施解决方案。
- 解决方案是否定义并满足成功指标?
让您的高级工程师参与回答这些问题将为您提供所需的观点并帮助您解决问题。
这 8 个解决问题的步骤来自我根据自己的经验以及唐·高斯 (Don Gause) 和杰拉尔德·温伯格 (Gerald Weinberg) 的精彩故事“你的灯亮着吗”构建的框架。
通过目标进行管理
在实用工程管理材料中,我经常分享这样的说法:
技术在产品公司中的作用是解决客户的问题。
这对于技术熟练的工程师来说尤其重要,因为他们的专业知识可以对产品产生巨大影响。你的工作是确保他们不仅仅是为利益相关者构建功能,而且是产品组织不可或缺的一部分。
这意味着您最优秀的工程师应该参与发现和交付过程,并在发布后负责他们的工作。要做到这一点,评估他们的工作不是根据完成的任务,而是根据取得的成果。
推动团队取得成果需要组织达到一定程度的成熟度。如果您认为您的公司尚未为此做好准备,您可以尝试通过大多数产品公司通用的因素来定义团队的目标:
- 生长
- 扩张
- 客户满意度
- 成本
通过原则进行管理
公司的使命和愿景通常都是高层次的,不容易转化为切实的行动和决策。为了保持组织的一致性,公司可以推广有原则的领导文化。原则的概念是决策和追求公司战略的框架。
原则为您的团队提供了一致性和自主性。即使拥有强大的软件工程师,解决问题的方法也数不胜数。原则指导决策,无需持续监督。例如,如果考虑为 API 添加额外的安全层,Apple 的“隐私是一项基本人权”原则将使这一决定变得轻而易举。相比之下,Facebook 的“快速行动”可能会引发更微妙的讨论。
虽然你的团队应该对特定挑战的“如何应对”负责,但你的原则应该为他们提供工作中最重要的事项。
以下是该行业的一些示例原则:
- 谷歌的“以用户为中心,一切顺其自然”:强调以用户为中心的设计,这一原则激励软件工程师优先考虑用户体验,确保产品直观且易于访问。
- 亚马逊的“逆向工作”:这一原则鼓励工程师从最终用户的角度思考并逆向工作以确保产品符合预期目标。
- Netflix 的“高度一致、松散耦合”:团队在目标上一致但在执行上松散耦合的原则可以激励软件工程师自主工作,同时仍为组织的更广泛目标做出贡献。
如果您的组织尚未制定明确的原则,请不要因此而停止为您的团队制定这些原则。在小公司中,这是一个以身作则并影响整个组织的机会。
无论你管理的工程师有多么熟练,领导者都应该遵循一些通用的做法。
高效团队领导者的 5 个特征
《加速》一书强调了高绩效团队领导者的五个关键特征:
- 富有远见,
- 鼓舞人心的沟通,
- 智力刺激,
- 支持性领导,
- 个人认可。
探索这些特质,看看它们如何提升你的领导能力。
结束语
本汇编旨在帮助您领导高级软件工程师,他们在某些领域应该比您更熟练。我的使命是帮助工程领导者实现伟大的想法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。