新成员 onboarding 怎么设计

一句话速记

onboarding 的目标不是”让新人学会”,而是让新人在最短时间内能独立交付第一个小任务。三个核心设计:① 给一个 buddy(不是 TL 自己,选一个热心且懂业务的 IC);② 给一条”30-60-90 天路径”(第 1 周做什么、第 1 个月达到什么、第 3 个月做到什么);③ 给一个”first win”(第一个能在团队内 demo 的小成果,必须在 2 周内发生)。新人流失的最大风险期是前 6 周——在这 6 周里每一周都有正反馈,离职率会掉一半。

通俗解释(5 分钟版)

糟糕的 onboarding:
  Day 1:给新人发了一堆文档链接 + 一个 git 仓库地址。
  "你先看看,有问题随时问。"
  Day 7:新人还在看文档,还没提交第一行代码。
  Day 14:新人开始怀疑自己"我是不是太笨了",开始怀疑公司。
  Day 30:新人说"我觉得我不太适合这里"。
  → 你以为是人的问题,其实是 onboarding 没设计

好的 onboarding:
  Day 1:buddy 带新人搭环境、跑通第一个本地 demo、提交第一个
         commit(哪怕是修一个 typo)。TL 和新人单独吃个午饭。
  Day 3:新人完成第一个小 fix,上线到测试环境。
  Day 7:新人独立完成一个完整的小功能(比如加一个字段),
         从写代码到上线。TL 第一次 1on1——"第一周感觉怎么样?"
  Day 14:新人在组会上 demo 自己的成果。
  Day 30:新人开始参与需求评审,能提出有效问题。
  Day 60:新人独立负责一个小模块。
  Day 90:新人反过来帮更新的新人解决问题。

关键细节

角色分工

TL 负责:
  - 第一天的欢迎 + 团队介绍
  - 说清楚"我们希望你在 30/60/90 天做到什么"
  - 每周 15 分钟 check-in(单独,不用正式 1on1,就是"这周怎么样")
  - 保护新人免受不必要的打扰(前 2 周不要拉新人进太多会)

Buddy 负责:
  - 代码库导览(不只是代码,还有"为什么这么写")
  - 工具和流程手把手教(不是发文档链接,是坐 TA 旁边或屏幕共享)
  - 新人提问的第一个对象("问笨蛋问题不会觉得丢脸")
  - 代码 review(前两周 buddy review 所有新人的 MR)

选 Buddy 的标准:
  ① 业务熟悉(至少在这个组待了 6 个月+)
  ② 有耐心,愿意教(不是技术最强但最热心的人)
  ③ 沟通清晰(能把复杂的事讲简单)
  ④ TL 给 Buddy 明确授权:buddy 可以为了带新人拒绝其他会议

30-60-90 天路径

第 1 周(Day 1-5):
  目标:跑通开发环境,提交第一个 commit
  - Day 1:环境搭建 + buddy 带着走一遍代码提交→review→合并→上线流程
  - Day 3:第一个小 fix(typo / 文案 / 简单 bug)上线
  - Day 5:能独立在本地跑起来所有测试

第 2-4 周(Day 6-30):
  目标:独立完成端到端的小功能
  - 从简单功能开始(加字段、改逻辑、调样式)
  - 每完成一个功能都给正面反馈("这个写得不错"不是客套,是真的找亮点)
  - 第四周新人在组会做一次分享:"我入职一个月碰到的坑和建议"

第 2-3 月(Day 31-90):
  目标:独立负责一个小模块
  - 开始参与需求评审和技术方案讨论(不只是听,要被问"你的想法呢")
  - 对新人降低 review bar 但提高 review 频率(多提建议性 comment,
    不要严苛拒掉整份代码)
  - 第 90 天正式绩效反馈:做得好的 3 件事 + 下阶段的 2 个改进方向

新人的”first win”

first win 原则:
  - 必须在新人入职 2 周内发生
  - 必须是一个完整闭环:写代码 → review → 合入 → 上线 → 看到效果
  - 必须能在团队面前展示(哪怕只花 2 分钟:"这是 XX 做的,
    已经上线了,线上日志看这里")

为什么 first win 这么重要:
  - 新人最大的心理障碍是"我对团队有没有价值"
  - 第一个成果是证明"我能行"给自己看,也是证明给团队看
  - 没有 first win → 新人自我怀疑 → 不敢问问题 → 进度更慢 → 更自我怀疑

TL 可以做什么:
  - 提前准备 3 个"绝对能在 1 周内完成"的任务,放在待选池里
  - 就算新人做的功能很小,也要在组会上大声说出来

延伸追问

  • Q:远程入职怎么做好 onboarding? → 核心困难是”不好意思打扰别人”。做法:① 加大 buddy 的主动性——buddy 每天主动 ping 一次新人(“今天有什么卡住的”),而不是等新人来问;② 前两周 TL/buddy 每天和新人有一个 15 分钟视频站会(摄像头打开);③ 多录屏、多异步文档(“搭环境”这种步骤录下来,新人不用实时求助)。
  • Q:如果新人真的不行,什么时候该放弃? → 第 30 天做一次正式评估。标准不是”学到了多少”,而是”学习速度和态度”。如果 TA 在第 4 周还在问第 1 周就教过的问题,且 buddy 已经教了 3 遍,那可能是 fit 问题。第 30 天觉得不行 → 第 60 天做最终决定,不要拖过试用期。
  • Q:onboarding 期间要不要给新人压力? → 要有一点,但不能大。恰当的压力:第二周就有可交付的任务,第三周有截止日期。不恰当的压力:第一周就让新人接手线上故障排查,或者派去一个没人帮的孤岛项目。

我的记法

  • 三个核心角色:TL(定方向+保护) + Buddy(教实操+回答问题) + 新人(学+做+demo)
  • 30-60-90 路径:Week 1=搭环境+first commit / Month 1=独立小功能 / Month 3=独立模块
  • first win 铁律:2 周内必须有一个完整的、可以在团队面前展示的小成果
  • 一句话:「新人前 6 周的经历,决定了 TA 3 年后的工作习惯和对这家公司的看法」

状态

  • 已背速记
  • 能讲通俗版
  • 能答追问