LabHub

博客

Staff Engineer 的技术领导力与影响力扩展策略

한국어English日本語中文

Staff Engineer 的技术领导力

引言

成为资深工程师之后,职业路径大体分为两条:转型为工程经理(EM),或者在 Individual Contributor(IC)路线上继续成长为 Staff Engineer 及以上。在韩国,Staff Engineer 这个头衔在很多组织里还不算普及,但在全球科技公司中,它早已是职业阶梯上确立已久的关键阶段。

Staff Engineer 与资深工程师究竟有什么不同?一句话概括,不同之处在于影响力的范围。资深工程师在团队内部写出卓越的代码,而 Staff Engineer 则跨越团队边界,影响整个组织的技术方向。写好代码依然重要,但仅凭这一点已经不够。

本文以 Will Larson 的《Staff Engineer》和 Tanya Reilly 的《The Staff Engineer's Path》为基础,从实践角度依次讲解 Staff Engineer 的四种原型(archetype)、通过 RFC/ADR 进行的技术决策、影响力扩展策略、辅导与举荐(mentoring and sponsorship)、技术债务的战略管理,以及工程文化建设。


Staff Engineer 的四种原型

Will Larson 将 Staff Engineer 的角色划分为四种原型。大多数 Staff Engineer 更接近其中一种原型,但也会根据情况在多个角色之间切换。

1. Tech Lead

引领一个团队或一小群团队的技术方向。

2. Architect

对跨多个团队的技术方向与质量负责。

3. Solver

专门解决特别棘手或紧急问题的专家。

4. Right Hand

担任 VP/CTO 等资深领导者的技术伙伴。

哪种原型更适合你

自我诊断问题
============================================

1. 我喜欢在一个团队里深耕
   -> Yes: Tech Lead 倾向

2. 我关心多个团队之间的技术一致性
   -> Yes: Architect 倾向

3. 解决"看似不可能"的技术问题让我兴奋
   -> Yes: Solver 倾向

4. 我想理解并影响整个组织的方向
   -> Yes: Right Hand 倾向

注意:原型不是固定不变的。它会随职业阶段和组织情况而变化。

技术决策:RFC 与 ADR

为什么文档化的决策很重要

Staff Engineer 最重要的职责之一,是让技术决策变得透明。只靠口头传达的决定会丢失背景信息,日后也就无法回答"当初为什么这么做"这样的问题。

RFC (Request for Comments)

RFC 是提出重大技术变更、并收集组织反馈的流程。

# RFC:引入订单服务事件溯源

## 元数据

- 作者:Youngju Kim
- 状态:审阅中
- 创建日期:2026-03-01
- 审阅人:Seojun Park、Minha Lee、Dayun Jung
- 决策截止日期:2026-03-14

## 摘要

将订单服务的状态管理从当前的 CRUD 方式迁移到事件溯源(Event Sourcing),
以满足订单历史追踪与审计日志的要求。

## 动机

1. 金融监管合规:订单状态变更历史需保留 5 年
2. 客户支持:需要准确回答"订单为什么被取消?"这类问题
3. 分析:订单漏斗分析需要细粒度的事件数据

## 提议的设计

(具体的技术设计内容)

## 备选方案分析

### 备选方案 1:CDC(Change Data Capture)+ 独立历史表

- 优点:现有代码改动最小
- 缺点:历史与当前状态之间难以保证一致性

### 备选方案 2:引入审计日志库

- 优点:实现简单
- 缺点:无法重放事件,只能保留部分历史

### 备选方案 3:事件溯源(已选定)

- 优点:完整历史、事件重放、时间旅行查询
- 缺点:学习曲线陡峭,需要额外构建读模型

## 实施计划

- 阶段 1(2 周):搭建事件存储基础设施
- 阶段 2(3 周):将订单创建/修改迁移到事件溯源
- 阶段 3(2 周):构建读模型(CQRS)
- 阶段 4(1 周):迁移现有数据

## 风险

1. 团队学习曲线(缓解:开展 2 次事件溯源工作坊)
2. 读取性能可能下降(缓解:通过 CQRS 分离读模型)
3. 运维复杂度上升(缓解:搭建事件存储监控看板)

## 未决事项

- 事件存储选型:EventStoreDB 还是 PostgreSQL + Outbox 模式
- 事件模式演进策略(upcasting 还是 versioning)

ADR(Architecture Decision Record)

ADR 是比 RFC 更轻量的格式,用于记录单项技术决策的背景与结果。

# ADR-042:选择 JWT 作为 API 认证方式

## 状态

已批准(2026-03-10)

## 背景

需要统一微服务之间的 API 认证方式。
目前各服务混用 API Key、Session、JWT 等方式,
给安全审计和调试带来困难。

## 决策

采用 JWT(JSON Web Token)作为服务间通信的标准认证方式。

- 令牌签发:Auth 服务(基于 Keycloak)
- 令牌验证:各服务基于公钥在本地验证
- 令牌有效期:Access Token 15 分钟,Refresh Token 7 天

## 结果

- 正面:认证方式统一,消除了服务间调用对 Auth 服务的瓶颈
- 负面:令牌失效不会立即生效(需等到过期)
- 中性:每个服务都需要新增 JWT 验证中间件

## 备选方案

- API Key:简单,但密钥管理复杂,难以做细粒度权限控制
- mTLS:安全性强,但证书管理开销大
- OAuth2 Opaque Token:对 Auth 服务的依赖度高

RFC/ADR 运营最佳实践

  1. 将 RFC/ADR 与代码一起存放在代码仓库中:让决策与代码一同纳入版本管理
  2. 设定评审截止日期:无限期开放的 RFC 会拖延决策
  3. 提供模板:统一的格式能降低撰写负担
  4. 保留被否决的 RFC:"为什么没有选择这个方案"同样是重要的知识

扩展影响力:超越代码

写作的力量

对 Staff Engineer 而言,写作不是可选项,而是必需品。代码只影响一个团队,而写得好的技术文档能影响整个组织。

有效的技术写作类型:

通过代码评审实现技术进阶

Staff Engineer 的代码评审,不只是发现缺陷,还承担着教育功能

普通资深工程师的代码评审:
  "把这个函数名从 getUser 改成 fetchUserById 吧。"

Staff Engineer 的代码评审:
  "这个函数做的是 DB 查询,所以用 fetch 前缀会更合适。
   我们团队的约定是:纯计算用 get/compute,涉及 I/O 就用
   fetch/load 前缀。要不要把这个约定写成 ADR 文档化一下?
   相关示例:payment-service 里的 fetchOrderHistory"

会议中的影响力

Staff Engineer 在技术会议中应当扮演推动决策的角色


辅导与举荐

辅导 vs 举荐

许多资深工程师会做辅导(mentoring),却不做举荐(sponsorship)。两者并不相同。

举荐之所以更强大,是因为它直接提供了成长机会本身

有效的辅导框架

1:1 辅导结构(双周一次,30 分钟)
============================================

5 分钟  - 近况确认:"最近什么事最有挑战性?"
10 分钟 - 技术深度:讨论当前工作中的技术难题
10 分钟 - 职业成长:回顾长期目标与当前所处的位置
5 分钟  - 行动项:整理到下次见面前要做的事

导师应该做的事:
  - 用提问引导思考,而不是直接给答案
  - 坦诚分享自己失败的经历
  - 根据学员的成长阶段调整难度

导师不该做的事:
  - 替学员完成工作
  - 把自己的职业路径当作唯一正确答案来展示
  - 把辅导内容分享给学员的直属上级(破坏信任)

技术债务的战略管理

把技术债务翻译成业务语言

只说"我们得偿还技术债务"这句话,不会打动业务负责人。Staff Engineer 必须能把技术债务翻译成业务影响(business impact)。

不好的说法:
  "测试覆盖率太低了,需要重构。"

好的说法:
  "目前支付模块的测试覆盖率是 30%。
   上个季度 3 起支付相关事故中,有 2 起发生在没有测试
   覆盖的代码路径上。每起事故的业务影响平均是
   2 小时服务中断,以及约 500 万韩元的营收损失。
   花 2 周时间补齐测试,预计可以把事故率降低 60%。"

技术债务优先级矩阵

                  业务影响高
                        |
    Q2: 计划性偿还      |     Q1: 立即偿还
    (纳入下季度路线图)  |     (纳入当前 Sprint)
                        |
  ──────────────────────┼──────────────────────
                        |
    Q4: 接受            |     Q3: 渐进式改进
    (维持现状)          |     (童子军规则)
                        |
                  业务影响低

  左侧:变更频率低    右侧:变更频率高

工程文化建设

心理安全感(Psychological Safety)

正如 Google 的 Project Aristotle 研究所揭示的,高绩效团队最重要的特质是心理安全感。Staff Engineer 不仅要对技术卓越负责,也要对团队文化负责。

能提升心理安全感的 Staff Engineer 行为:

  1. 公开承认失误:"这个设计里有一部分是我没考虑到的"
  2. 欢迎提问:不只说"这是个好问题",而是具体说明它好在哪里
  3. 复盘中禁止追责:探究的是"哪些系统性因素"导致了事故,而不是"是谁"
  4. 积极征求不同意见:"有没有人有不同的看法?"

技术决策的透明度

Staff Engineer 主导的技术决策越透明,组织的信任度就越高。

营造学习文化

学习文化的实践方法
============================================

每周:
  - Tech Talk(30 分钟):团队成员轮流分享感兴趣的技术
  - 代码评审 Power Hour:全体团队一起评审重要的 PR

每月:
  - 技术书籍读书会
  - 事故复盘会(分享 postmortem)
  - 黑客松或 Innovation Day

每季度:
  - 技术雷达更新(Adopt/Trial/Assess/Hold)
  - 职业成长 1:1(经理 + Staff Engineer)
  - 参加外部会议并在内部分享

Staff Engineer 职业成长路线图

从资深工程师到 Staff 的转型

从资深工程师晋升为 Staff Engineer,所需要的并不是"写更多代码"。

资深 -> Staff 转型所需的能力变化
============================================

需要做得更多:
  + 超越团队边界的技术影响力
  + 文档化的技术决策(RFC/ADR)
  + 组织层面的技术问题解决
  + 支持初级/中级工程师的成长
  + 理解业务背景并与技术战略相连接

可以少做一些:
  - 亲自编写所有代码
  - 掌握所有技术细节
  - 参与每一次代码评审

绝对不能丢掉的:
  ! 保持编码能力(hands-on 比例 30~50%)
  ! 学习技术趋势
  ! 谦逊与好奇心

撰写 Impact Log

在 Staff Engineer 这个层级,系统性地记录自己的影响力(impact)非常重要。如果在绩效评审时依赖记忆,就会遗漏重要的贡献。

# Impact Log - 2026 Q1

## 组织影响

- [RFC-018] 提出并推动支付服务引入事件溯源方案获批(3/1)
  - 影响范围:支付团队、订单团队、结算团队
  - 预期效果:100% 满足审计日志要求

## 技术债务偿还

- 主导认证中间件统一项目(1/15 - 2/28)
  - 将 5 个服务的认证方式统一为 JWT
  - 解决 3 项安全审计问题

## 辅导/成长支持

- 定期辅导 2 名初级工程师(双周一次)
  - 支持其中 1 人晋升资深工程师(晋升成功)
- 主持"分布式系统基础"内部工作坊(2/10, 25 人参加)

## 事故响应

- 主导支付网关超时事故的响应(1/22)
  - 30 分钟内定位原因并部署热修复
  - 撰写事后复盘,提出 3 项防止复发的对策

结语

Staff Engineer 的本质,是把技术上的卓越转化为组织的成果。无论个人编码水平多么出色,只要它没有转化为团队与组织能力的提升,就算不上 Staff 级别的影响力。

把要点整理如下。

  1. 找到自己的原型:在 Tech Lead、Architect、Solver、Right Hand 中找到适合自己的角色,并根据情况灵活切换
  2. 让决策变得透明:用 RFC 和 ADR 记录技术决策的背景,并保留被否决的方案
  3. 通过写作把影响力扩展到代码之外:借助技术愿景文档、事后复盘、入职指南等,把价值传递给整个组织
  4. 从辅导发展为举荐:不止于建议,成为为他人创造成长机会的举荐人
  5. 把技术债务翻译成业务语言:不说"需要重构",而是用业务影响和 ROI 来说服
  6. 打造提升心理安全感的文化:承认失误、欢迎不同意见、鼓励学习

Staff Engineer 的旅程没有"标准答案"。不同的组织、不同的人,会以不同的方式扮演这个角色。重要的是,用自己的方式扩展影响力,同时不丢失作为工程师的本质——技术卓越与好奇心


参考资料

评论

还没有评论。

登录后即可发表评论