成为工程经理之后,你可能已经明显感觉到:自己与团队日常技术工作的距离正在逐渐拉大。
如何保持技术素养,也因此成为许多软件工程经理在职业转型后必须面对的问题。
有资深工程管理者曾直言:“人员管理固然重要,但仅仅做好人员管理,已经远远不够。”
那么,软件工程经理应该如何弥合这种距离,在不重新成为全职开发者的情况下,持续保持技术能力和技术判断力?
在讨论具体方法之前,我们首先需要明确一个问题:对于工程经理来说,所谓的“技术素养”究竟意味着什么?

什么是工程经理的技术素养
工程经理具备技术素养,并不意味着必须持续编写生产代码,也不意味着要亲自参与产品和技术路线图中的每一项开发工作。当然,不同企业、不同团队对工程经理的职责要求可能有所不同。
更普遍地说,工程经理的技术素养,是指理解代码库整体架构、识别关键技术瓶颈,并了解团队正在使用的工具、技术和工程实践的能力。
这意味着,你能够基于充分的技术背景做出合理判断,发现潜在问题和机会,理解不同技术方案之间的取舍,并参与制定切实可行的技术策略。
工程经理不一定要成为团队里编程能力最强的人,但必须能够理解团队正在构建什么、为什么这样构建,以及相关决策可能带来哪些影响。
为什么工程经理必须保持技术能力
在工程管理工作中,技术素养早已不再是“锦上添花”的能力,而是一项基础要求。
工程经理保持技术能力,不仅能够帮助自己更好地参与技术决策,也会直接影响团队信任、沟通效率、招聘质量和工程师的工作体验。
它至少会从以下四个方面影响你的工作。
1. 提升你在工程团队中的可信度
工程师希望自己的经理在面对上级管理者和其他关键利益相关者时,能够真正理解并代表团队。
只有充分了解团队正在做什么、面临哪些技术挑战,以及为什么某些工作比表面看起来更加复杂,你才能准确传递团队的实际处境,并为合理的资源、时间和优先级安排提供依据。
当工程师相信你能够理解他们的工作,并在关键沟通中代表他们时,你在团队中的可信度也会随之提高。
2. 保护工程师的专注时间
当业务方、产品团队或其他部门提出技术问题时,缺乏技术背景的管理者通常只能临时找一两名工程师参与讨论。
久而久之,工程师会频繁被打断,原本用于编码、设计和解决复杂问题的专注时间也会不断被切割。
如果工程经理具备足够的技术素养,就能够独立回答一部分问题,完成初步判断,并识别哪些事项确实需要工程师参与。
这样不仅可以提高决策效率,也能更好地保护团队的深度工作时间。
3. 缩短技术决策的反馈周期
具备技术素养,意味着你能够理解问题的关键细节,不必在每一次沟通中都反复向团队确认基础信息。
当产品、业务或其他利益相关者提出问题时,你可以更快地判断问题的性质、影响范围和可能的解决方向,从而缩短信息往返和决策反馈周期。
你不需要掌握每一个实现细节,但应该能够识别哪些细节会影响最终判断。
4. 提高工程师招聘质量
招聘优秀工程师是工程经理的重要职责之一。
如果你充分了解团队的技术环境、工作方式和岗位要求,就能更准确地判断候选人是否具备团队真正需要的能力,也能提出更有针对性的面试问题。
相反,如果对岗位的技术要求缺乏理解,招聘过程就很容易停留在关键词匹配和表面经验判断上,最终增加误招的风险。
明确了技术素养的含义和重要性之后,下面介绍四种帮助软件工程经理持续保持技术能力的方法。
工程经理保持技术素养的4种方法
1. 掌握提示词工程
提示词工程,是指通过设计清晰、具体并包含充分背景的信息,引导人工智能模型生成更可靠、更相关的结果。
对于没有大量时间深入研究每一个技术问题的工程经理来说,人工智能可以成为辅助学习和技术分析的重要工具。
例如,假设你希望评估两种技术架构的优缺点。
一个效果较差的提示可能是:
微服务架构和单体架构之间有哪些取舍?
这个问题本身没有错,但它过于笼统,没有说明团队背景、业务规模、当前问题和评估标准。人工智能只能给出通用答案,很难直接支持真实决策。
一个更有效的提示可以这样写:
你是一位资深软件架构师,正在为一家中型 SaaS 企业的工程经理提供建议。该团队共有 12 名工程师,目前维护一个基于 Rails 的单体应用,为约 50 万名用户提供服务。团队正在考虑是否迁移到微服务架构,目前面临的主要问题是部署瓶颈和团队规模扩张。
请评估继续使用单体架构与迁移到微服务架构各自的优势、风险和成本,并重点考虑团队规模、运维复杂度、短期交付速度和长期可扩展性。请以结构化对比的形式输出,并在最后给出建议。
这个提示更加有效,原因在于它:
- 指定了人工智能需要扮演的角色;
- 提供了团队规模、技术栈和用户规模等背景;
- 明确指出了当前面临的问题;
- 规定了需要重点评估的技术与组织因素;
- 明确要求采用结构化对比并给出最终建议。
良好的提示词设计不仅能节省时间,还能显著提高输出质量。
工程经理可以借助人工智能完成许多辅助性技术工作,例如:
- 对缺陷和错误日志进行初步分类;
- 分析问题可能涉及的代码区域;
- 搭建绩效评估或技术评审框架;
- 起草技术策略文档;
- 梳理代码库和系统架构;
- 绘制工具链和系统依赖关系;
- 比较不同技术方案的风险与适用场景。
除了人工智能,工程经理还可以借助研发管理平台建立更完整的技术上下文。例如,使用 PingCode 将客户反馈、需求、任务、缺陷、测试、发布记录和技术文档关联起来,可以帮助管理者更快理解一项技术工作的来源、进展及其对业务的影响,而不必频繁向工程师追问基础信息。
不过,需要特别注意的是,任何人工智能模型或研发工具都无法完整复制团队长期积累的组织知识。
它们可能帮助你看到数据和文档,却未必知道某段代码为什么以这种方式实现、某项决策背后有哪些历史原因,也不了解团队曾经踩过哪些坑。
因此,工具适合帮助工程经理加速理解,但不能替代与工程师的直接交流。
这也引出了第二种方法。
2. 与工程师开展结对协作
了解代码库、系统架构和工程工具的有效方式之一,是与工程师一起完成具体的技术任务。
这里所说的结对协作,不一定意味着你必须像全职开发人员一样持续编写代码。你可以与工程师一起阅读代码、调查缺陷、审查变更,或者梳理某项技术设计。
需要注意的是,不要过于频繁地占用同一位工程师的时间。结对协作的主要受益者通常是管理者本人,因此必须有意识地控制频率和时长。
比较适合结对协作的,通常是那些对团队和代码库有价值,但不处于关键交付路径上的任务。
这类任务没有极高的时间压力,同时又能帮助工程经理理解团队的技术环境。
在开展结对协作时,可以遵循以下原则。
坦诚说明你的目标
明确告诉工程师,你希望通过这次协作提升对系统和代码库的理解。
这样可以消除对方可能产生的顾虑,避免工程师误以为这是一次隐性的绩效检查或技术能力评估。
选择有明确边界的任务
任务最好具备清晰的范围、时限或交付结果。
例如,将协作控制在 60 分钟以内,或者以定位某个低优先级缺陷的原因、审查一个规模较小的代码变更为目标。
边界越清晰,就越不容易让这次学习活动演变成对工程师工作时间的过度占用。
提前明确由谁主导
如果你的目标是重新熟悉代码,并且你本身具备相关编程经验,可以由你主导操作,让工程师从旁补充和纠正。
如果你的目标是观察工程师如何分析问题、使用工具和做出判断,则更适合由工程师主导,你负责提问和理解。
不断追问“为什么”
不要只关注最终写出了什么代码,更要理解为什么采用这种实现方式。
例如:
- 为什么选择这个组件,而不是另一个组件?
- 为什么逻辑需要放在这一层?
- 为什么没有使用看起来更直接的方案?
- 这个设计是在规避什么风险?
- 这里是否存在历史兼容性问题?
理解这些“为什么”,比记住某个具体函数或工具更有价值。
记录后续需要学习的问题
在协作过程中,你很可能会遇到不熟悉的技术、工具或设计背景。
不必在现场把所有问题全部展开。可以先将它们记录下来,之后再通过文档、个人实验或与相关人员交流进行补充学习。
比较适合结对协作的任务包括:
- 共同审查代码变更;
- 调查低优先级缺陷;
- 阅读某个模块的核心代码;
- 为现有功能补充简单测试;
- 梳理某条关键请求链路;
- 检查监控、告警或日志配置。
不太适合结对协作的任务则包括:
- 生产环境事故处理,因为时间高度敏感;
- 新技术或新工具的开放式探索,因为范围难以控制;
- 深度算法设计或高难度性能优化,因为技术复杂度可能过高;
- 处于关键交付路径上的紧急开发任务。
结对协作虽然有效,但它通常围绕某项具体任务展开,学习过程相对零散。
若想建立更加系统和深入的技术理解,还需要采用更有针对性的方式。
3. 系统掌握相关技术领域
提升技术素养的有效方法之一,是逐步拓展自己的技术知识领域。
你可以先选择一个与团队当前工作高度相关的方向进行深入学习。掌握到一定程度之后,再选择下一个领域。
随着时间推移,这些知识会逐渐积累,帮助工程经理建立更完整的技术视角和技术判断框架。
选择学习方向时,可以思考以下问题:
- 团队当前最重要的技术工作是什么?
- 哪些技术问题最容易影响交付或系统稳定性?
- 我在哪些判断上最缺乏信心?
- 团队的重要技术决策主要集中在哪些领域?
- 哪些知识能够帮助我更好地参与规划和评审?
在积累领域知识时,可以采用以下方法:
- 在理论学习和实践操作之间保持平衡;
- 在团队内部或外部寻找一位技术导师;
- 阅读不同层次的技术资料,包括概览文章、官方文档、技术规范和 RFC;
- 制定可持续的学习计划,把学习安排进每周固定节奏;
- 通过个人实验或小型项目验证自己的理解;
- 主动参与相关技术讨论和方案评审。
如果团队的技术资料比较分散,还可以将 RFC、架构方案、技术复盘、故障记录和最佳实践统一沉淀在 PingCode Wiki 中,并与对应的需求、项目和缺陷建立关联。这样,工程经理不仅能够了解当前方案,还能追溯决策背景和后续结果,逐步建立对团队技术演进过程的系统认知。
例如,假设你希望提升自己在可观测性方面的能力,可以制定一个为期三个月的学习计划。
第一个月:理解基础概念
你可以请一位资深工程师介绍团队当前的日志、指标、告警和追踪体系是如何运行的。
与此同时,阅读相关开源标准和商业工具的技术文档,了解日志、指标和分布式追踪之间的区别,并观看一些关于可观测性实践的技术分享。
这一阶段的目标不是掌握所有工具,而是建立完整的概念框架。
第二个月:积累实践经验
你可以邀请一位资深工程师与你结对,为代码库中的某个模块添加基础追踪能力,或者共同分析一次历史故障的监控数据。
此外,也可以建立一个小型个人项目,主动配置日志、指标和链路追踪,以理解遥测数据是如何产生、传输和展示的。
第三个月:将知识用于真实决策
随着理解逐渐加深,你可以更加积极地参与相关技术讨论。
例如,当团队计划增加一个新服务时,你可以提出有价值的问题:
- 这个服务应该记录哪些关键指标?
- 如何判断它是否运行正常?
- 请求失败时,能否追踪完整调用链?
- 告警是否能够准确反映用户影响?
- 是否存在监控盲区?
在审查架构 RFC 时,你也能够识别其中可能遗漏的可观测性问题。
接下来的几个月里,你会逐步建立对这一领域的信心。
当你已经能够理解核心概念、参与讨论并做出合理判断后,就可以选择新的技术领域继续深入。
系统性的领域学习能够为工程经理建立一套技术词汇和判断框架。
下一步,是把这些知识带到最重要的技术决策场景中。
4. 积极参与架构和设计评审
架构和设计评审,是团队做出高影响力技术决策的重要场所。
这些决策可能在未来数年内持续影响系统的可扩展性、可维护性、招聘难度、基础设施成本和团队效率。
因此,参与架构评审是工程经理理解技术方向、提升技术判断能力的重要途径。
在审查 RFC 或参加架构、设计方案评审之前,建议至少阅读文档两遍。
第一遍:理解背景和整体思路
第一次阅读时,不必急着做标记或发表评论。
这一遍的主要目标是理解:
- 当前要解决什么问题;
- 为什么现在需要解决;
- 方案的核心思路是什么;
- 它将如何影响团队和业务;
- 文档的结论是如何形成的。
先建立完整认知,再进入细节判断。
第二遍:识别问题和关键影响
第二次阅读时,可以标记重要信息,并记录自己的疑问、发现的漏洞和关键结论。
这一遍需要重点思考:
- 方案会如何影响现有代码库?
- 是否引入新的复杂度?
- 是否存在没有被充分讨论的替代方案?
- 团队是否具备实施和维护该方案的能力?
- 失败时如何回滚?
- 未来的运维、招聘和培训成本是否发生变化?
在现场评审中,应优先提出澄清性问题,例如:
能否帮助我理解一下,为什么这里选择了方案 Y?
尽量避免直接提出带有预设答案的引导性问题,例如:
我们是不是应该直接使用方案 X?
也应避免提出与会议目标无关的问题,否则容易分散讨论重点。
除了方案最直接的影响,还需要关注其次要影响和更长期的衍生影响。
RFC 通常会重点分析主要收益和直接风险,但一些二级、三级影响往往更隐蔽,也更容易在实施后被低估。
例如,假设团队计划使用基于消息队列的异步事件驱动系统,替换内部服务之间的一组同步 REST API 调用。
这个方案可能产生不同层次的影响。
主要影响
主要收益可能包括:
- 降低服务之间的直接耦合;
- 更好地应对流量高峰;
- 当下游服务暂时不可用时,提高系统容错能力;
- 让不同服务能够以更加独立的节奏演进。
这些通常是方案文档中最容易被识别和讨论的部分。
次要影响
在同步调用中,失败通常会立刻发生,也相对容易被发现。
但在异步事件系统中,一些故障可能不会立即暴露。例如,消费者可能在数小时后才发现事件未被正确处理,或者事件顺序出现异常。
与此同时,调试问题时需要同时关联生产者、消息系统和消费者的日志。原本清晰的请求链路也可能变得更加模糊。
这意味着,团队可能需要建立更强的监控、追踪、重试和死信处理机制。
衍生影响
在同步 REST API 架构中,工程师通常可以通过阅读接口定义,较快建立服务间通信的整体认知。
而在事件驱动系统中,数据流往往更加隐式。一个服务发布事件之后,可能有多个消费者在不同位置进行处理。
这会增加新工程师理解系统的难度,也可能提高排查问题、编写文档和维护事件规范的成本。
进一步来看,团队甚至可能需要调整招聘标准、入职培训和系统所有权划分方式。
这些并不意味着事件驱动架构不可取,而是说明工程经理不能只关注方案的直接技术收益,还要理解它将如何长期影响团队和组织。
工程经理如何长期保持技术素养
工程经理的技术素养并不是一种可以一次性获得、之后永久保留的能力。
随着代码库、技术栈、团队和业务不断变化,你需要持续投入,才能保持足够的技术理解和判断能力。
好消息是,你不需要一次性完成所有学习,也不必重新变成一名全职开发人员。
真正有效的方式,是采取微小但持续的行动:
- 每周阅读一份技术文档;
- 定期参与一次代码或设计评审;
- 每个月选择一个具体技术问题深入了解;
- 偶尔与工程师开展一次有边界的结对协作;
- 借助人工智能工具加速理解和信息整理;
- 在关键技术决策中提出有价值的问题。
这些看似微小的行动,经过长期积累,会显著提升工程经理的技术判断力和工程管理能力。
团队中的工程师并不要求你成为会议室里最优秀的程序员。
他们真正需要的是,你能够理解他们正在构建什么,明白这些工作为什么重要,并看清每项技术决策背后的收益、成本和风险。
对于软件工程经理来说,保持技术素养的目的,并不是证明自己仍然会写多少代码,而是确保自己始终有能力理解团队、支持团队,并帮助团队做出更好的技术决策。
文章包含AI辅助创作,作者:liu,如若转载,请注明出处:https://docs.pingcode.com/baike/5249060