Blog

Blog

PHODAL

Tech Lead 的养成

半年前,公司出了一个计划,目的大抵是培养下一任 Tech Lead。作为一个勉强算是资深的 Tech Lead,我大概是能承担这样一个工作的,所以我成了 coache 中的一员。

不过,既然花了挺多的时间,做了这么样的一件事,那么我还是得写一篇文章总结一下。

开始继续往下阅读之前,我先声明一下:

  1. 内容是基于硬技能相关的。
  2. 部分内容不完整,只是对内容的细化。详细的部分可以参加:《迈向 Tech Lead 之路
  3. 内容来自于公司的经验,可能不适用于其它公司。

过程

当然了,开始之前我们需要再澄清一下,我们所说的 Tech Lead 是指一个 role,它既是开发,又是架构师,还是一个领导者(Leader,非领导)。过程中,发现一个比较通用的模式,每个 coach 以自己的风格来培养自己的 coachee。对于大部分人来说,看书都是没用的,培训也都是没用的。而对于一个 Tech Lead 来说,练习远比其它东西要重要的。

所以,有几个基本的模型:

从真实项目中练习

  • 参与 Inception 的相关工作(架构设计、业务流程、等)
  • 参与 Iteration 0 的相关工作(搭建框架、CI 和 CD 等)
  • 在项目中实施相应的 Tech Lead 职责

提升自我的练习

  • 构建知识图谱。
  • 应用脚手架。
  • 架构设计与架构图。

输出强化输入

  • 整理图谱
  • 输出文章
  • 输出 Session

大概就是这么一些,剩下的我再想想。

成长模型

对应的,我从众多的 Coach 的实施计划中,提取了一个基本的提升原型。

定义:

  1. 需要经常指导,不能独立完成
  2. 基本独立工作,需要经常检查
  3. 值得信任,可以指导别人
  4. 该领域专家,可以解决复杂问题

相关级别:

  • level 1:接受培训
  • level 2:能用(不能独立,还需要指导)
  • level 3:讲 Session(独立完成)
  • level 4:组织培训(Drive)

微服务架构

书单:《微服务设计》、《微服务架构设计模式》、《领域驱动设计》、《领域驱动设计模式、原理与实践》、《领域特定语言》

Level 1

  • 参加 EventStorming 培训
  • 参加 DDD 战略培训
  • 了解 DDD 相关的架构
  • 学习典型的微服务架构案例

Level 2

  • 参与微服务项目 Inception
  • 完成单一部分 EventStorming 工作

Level 3

  • 能主导中小型微服务项目 Inception
  • 将成果写成案例讲讲 Session

Level 4

  • 参与大中型客户的微服务项目售前,并能独立完成 Inception
  • 进行微服务相关的 workshop

常规软件架构

书单:《架构整洁之道》、《程序员必读之软件架构》、《演进式架构》、《前端架构:从入门到微前端》

Level 1

  • 参加 TL 培训,掌握 C4 架构设计方法
  • 学习典型案例
  • 能够绘制系统架构图和部署架构图

Level 2

  • 参与常规项目的 Inception,并完成部分架构设计工作
  • 总结现有经历过项目的架构
  • Spike 具体技术解决方案
  • 尝试利用项目做练习,然后评估能否实施

Level 3

  • 主导一个常规项目 Inception,并把成果写成案例讲 Session
  • 搭建项目脚手架
  • 能区分出每种架构优劣势、适用场景
  • 对同事提出的架构方案,会提出意见、问题
  • 可以承担架构的技术决策

Level 4

  • 参与大中型客户的常规项目售前,并独立完成 Inception
  • 对软件架构守护自动化
  • 了解特定领域最新发展和最佳实践,并能合理地引入项目中。

DevOps

书单:《持续交付》、《DevOps实践指南》、《SRE:Google运维解密》

Level 1

  • 有 DevOps 基础,能做 CI/CD 的维护工作
  • 了解 Docker、K8S 等容器化技术

Level 2

  • 在普通项目中项目能承担 DevOps 工作
  • 了解云原生架构

Level 3

  • 能完成项目所有的 DevOps 工作:如搭建 ELK、编写 DockerFile 等

Level 4

  • 能进入 DevOps 项目承担主力

编码

书单:《代码整洁之道》、《重构》、《设计模式》、《从重构到模式》

Level 1

  • 合理的 TDD
  • 了解重构手法
  • 了解和实践过常见设计模式

Level 2

  • 在 Code Review 能发现问题
  • 在合适的时候,使用设计模式
  • 熟悉 SOLID 原则

Level 3

  • 具有良好的 TDD、重构习惯和技巧,可以指导团队其他人
  • 编码能力能够承担项目所有难度的卡片
  • 在 Code review 上可以给出建设性意见

Level 4

  • 能组织 OO BootCamp 等编程相关实践

软件质量

书单:《测试驱动开发 》、《修改代码的艺术》、《探索式软件测试》

Level 1

  • 能够跟 BA 和 QA 良好协作,正确理解业务需求,代码返工率较低,生产问题较少
  • 了解不同类型的测试(测试金字塔)
  • 学习如何进行质量诊断,常见的改进方案

Level 2

  • 对于代码质量有较高的要求,是前/后端测试覆盖率的贡献者
  • 对于复杂功能的设计,在质量和稳定性的考虑上略有欠缺
  • 注重代码质量,自己花时间搭建起测试框架

Level 3

  • 设计并实施项目的测试策略
  • 在交付过程中设计,并实施质量改进计划
  • 进行单元测试相关的 Session

Level 4

  • 完成多个项目的质量诊断、设计改进方案、测量改进效果
  • 发现潜在的软件质量问题,并驱动解决。

敏捷开发流程

书单:《敏捷软件开发》、《学习敏捷》、《用户故事与敏捷方法》、《精益思想》

Level 1

  • 了解敏捷软件开发
  • 熟悉敏捷软件开发命命周期

Level 2

  • 对敏捷实践有一定的了解,能够给出一些意见
  • 对看板项目敏捷方法产出文字总结,包含看板敏捷方法的优缺点
  • 分享看板可能适用的敏捷方法
  • 理解和掌握敏捷实践,不断深入扩展自己的技术边界,扩大技术深度及广度。

Level 3

  • 在交付过程中设计并实施流程改进计划
  • 能根据项目需求,因地制宜在项目中进行敏捷实践设计、裁剪及推动。

Level 4

  • 能够完成多个项目的健康诊断、设计改进方案、测量改进效果
  • 能在各个领域综合运用并高效解决问题。

结论

没有银弹。


或许您还需要下面的文章:

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享

标签