工程习惯、质量与团队 · 综合
用一周而不是一个月完成新开发者的上手
一句话: 衡量标准是「到第一次上线改动要多久」——而大部分延迟来自权限和本地环境,而不是理解代码。
提前准备好
一份第一天就生效的、整理好的权限清单;一条命令就能起来的本地环境;以及能在不碰真实数据的前提下工作的假数据。
每一个浪费在权限上的小时,都是没有用在理解系统上的小时。
正确的第一个任务
小的、真实的,并且贯穿整条链路:代码、测试、评审、部署。目标不是产出,而是在有人陪同的情况下把这条路走一遍。
指派一位固定的导师带两周,并且在日历上有固定的时间,而不是「有需要就来问」——大多数人不会来问。
从这个过程里学习
请新人实时地修正文档。对一个系统的第一眼是一种资产,它两周后就消失,并且不会回来。
深入一层
维护一张一页纸的系统地图:组件、主要流程,以及大部分故障发生的位置。它比几十页文档更有价值,而且因为变化很慢,维护起来也容易。