团队的效率增长不仅仅是团队领导的责任,也是团队中的高级工程师的职责。在团队成功的建设上,作者给出下面几天建议:
把招聘当做每个人的责任
在团队的组建阶段,招聘是一件优先级很高的工作。好的面试流程应该达成两个目的:筛选出适合团队特质的人;令候选人认同团队的工作。为了达成这两个目标,需要做以下工作:
- 确认团队成员的必备能力,确保在整个面试流程中考察这些能力;
- 定期确认招聘的质量,不断迭代以保证招聘的过程能够尽量完整的考察候选人的能力;
- 为不同能力准备不同难度的一系列面试题,以更精确的确认面试者的各项能力;
- 把控面试方向,保证高信噪比;
- 用简单题目快速筛选明显不符合要求的候选人;
总之,面试的流程不要不断的迭代优化。但是这一切的非常值得,招聘到合适的员工带来的产出远远大于优化面试流程的付出。
设计良好的新人入职引导
如何建立一个良好的新人入职引导呢?第一,确定团队的目标以及新人的目标;第二,建立一系列机制去达成目标。
- 让新人尽快融入
- 传授团队的文化和价值观
- 准备必备的知识列表
- 让新人快速熟悉其他成员
为了达成上面的目标,一般有以下几种方式:
- Codelabs 就是项目架构的核心思想和核心代码片段,良好的文档、注释、单元测试也能够加速新人对代码的熟悉;
- 入职引导培训 由高级工程师以及各部门成员以当面宣讲答疑的方式帮助新人解决疑惑;
- 导师制 在新人入职的前一段时间内,显式制定一位导师为其答疑;
- 初始任务 给新人一个相对容易的初始任务来帮助其融入;
共享代码
在明确代码归属的同时,建立代码共享的机制,即一块代码由多个人理解并维护,这样可以防止技术人员上的单点问题,主要机制有:
- 尽量避免一个人维护一个项目;
- code review;
- 在团队间轮换责任和任务(轮岗制);
- 关键设计需要落地到文档;
- 花时间把项目的设计讲给其他同事;
通过复盘积累团队经验
建立完善的复盘机制来定位现有情况下的问题,以此来不断积累经验教训。
建立工程师文化
作者总结的工程师文化:
- 优化迭代速度;
- 推进流程自动化;
- 构建良好的软件抽象设计;
- 建立完善的code review关注代码质量;
- 开放且互相尊重的工作环境;
- 共享代码;
- 自动化测试;
- 给实验的时间(比如20%自由时间,黑客马拉松等等);
- 建立不断学习,迭代改进的文化;
- 招聘最优秀的人;
网友评论