Onboarding 不必要:我就是 onboarding
solo engineer 没有 onboarding。simedw 一个人 iPhone app——所有代码他自己写,所有架构他自己知道,所有 commit message 他自己看。onboarding 是大公司知识转移工具,一人工程的自己 = onboarding。
solo engineer 没有 onboarding。
大公司做 onboarding:
- 新员工培训:HR 主导 1 周培训(公司文化 / 安全 / 福利)
- buddy 系统:每个新员工配 1 个 buddy(熟悉公司的老员工)
- mentor 系统:每个新员工配 1 个 mentor(技术 leader)
- 第一周不上班:新员工第一周不上班,只学公司流程
- onboarding doc:100 页 onboarding doc(新员工必读)
- 内部 wiki:Confluence / Notion 上 1000 页 wiki
- 部门介绍:每个部门 1 小时介绍
- codebase tour:mentor 带新员工走 codebase
一人工程做 onboarding:
- 没有新员工
- 没有 buddy
- 没有 mentor
- 没有 onboarding doc
- 没有内部 wiki
simedw 的 onboarding 哲学
simedw 是 iPhone piano app。他没有 onboarding:
- simedw 不需要新员工:simedw 自己 = 团队
- simedw 不需要 buddy:simedw 自己 = buddy
- simedw 不需要 mentor:simedw 自己 = mentor
- simedw 不需要 onboarding doc:simedw 写代码时知道所有架构
- simedw 不需要内部 wiki:simedw 脑子里就是 wiki
simedw 的"onboarding"在 git log + commit message + HN 评论里:
- git log:所有 commit 时间 + 内容
- commit message:每个 commit 的 why / what
- HN 评论:simedw 自描述 simedw 的 progress
- README:simedw 项目简介
如果 simedw 突然消失,新 maintainer 可以:
- 读 git log(了解历史)
- 读 commit message(了解每次改动)
- 读 HN 评论(了解 simedw 思路)
- 读 README(了解项目结构)
不需要 100 页 onboarding doc。
一人工程的 onboarding 工具
- git log:所有 commit 时间 + 内容
- commit message:每次改动的 why
- README:项目简介 + 架构
- HN / 博客:simedw 自描述
- HN 评论:其他 developer 的反馈
不需要 Confluence / Notion wiki,因为:
- 开发者 = 唯一的 maintainer
- 开发者脑子里 = wiki
- 不需要给新员工写 onboarding
onboarding 在大公司的政治
onboarding 不是工具——是知识转移工具 + 政治工具:
- HR:要用 onboarding 减少新员工流失
- mentor:要用 onboarding 表现 leadership
- buddy:要用 onboarding 学新人 + 表现 collaboration
- CTO:要用 onboarding 加速新员工产出
- PM:要用 onboarding 让新员工快速上手
- 新员工:要用 onboarding 学公司
每个 stakeholder 都要 onboarding:
- HR onboarding = "新员工不流失"
- mentor onboarding = "我表现 leadership"
- buddy onboarding = "我学新人"
- CTO onboarding = "新员工快速产出"
- PM onboarding = "新员工快速上手"
- 新员工 onboarding = "我学公司"
没有 onboarding = 没有知识转移 = 新员工慢产出。
一人工程没有 stakeholder:
- 开发者 = HR = mentor = buddy = CTO = PM = 新员工
- 一个人 onboarding
- 不需要 100 页 doc
onboarding doc 在大公司的细节
大公司 onboarding doc 通常 100 页:
- 公司介绍:mission / vision / culture / history
- 部门介绍:每个部门 1-2 页
- 代码库介绍:架构 + 模块 + 工具链
- 开发流程:git workflow + CI/CD + deploy
- 工具介绍:Slack / Jira / Confluence / Notion / Linear
- 福利介绍:health insurance / 401k / PTO
- 法律介绍:NDA / IP assignment / GDPR
每个 onboarding doc:
- 100 页
- HR 维护
- 每季度更新
一人工程没有 onboarding doc。一人工程有:
- simedw 的 README:项目简介(1 页)
- simedw 的 commit message:每次改动(git log)
- simedw 的 HN 评论:simedw 思路
README + commit message + HN = 100 页 onboarding doc 的最小子集。
buddy 系统在大公司的细节
大公司 buddy 系统——每个新员工配 1 个 buddy:
- buddy 职责:回答新员工日常问题("在哪里吃饭" / "Slack 在哪" / "GitHub 仓库在哪")
- buddy 时长:3 个月(之后新员工独立)
- buddy 配对:HR 配对(基于团队 / 兴趣 / 性格)
每个 buddy:
- 每周回答 5-10 个问题
- 帮新员工介绍团队
- 帮新员工熟悉工具
一人工程没有 buddy。一人工程有:
- simedw 自己就是 buddy:simedw 问自己 + 自己答
- simedw 不需要 HR 配对:simedw 自己决定
- simedw 不需要 3 个月:simedw 没有 buddy 时长
不需要 buddy,因为 simedw 自己 = buddy。
mentor 系统在大公司的细节
大公司 mentor 系统——每个新员工配 1 个 mentor:
- mentor 职责:技术指导 + 职业建议 + 长期关系
- mentor 时长:6-12 个月(长期)
- mentor 配对:VP 配对(基于技术方向)
每个 mentor:
- 每周 1-on-1 30 分钟
- 给新员工 code review
- 帮新员工规划职业
一人工程没有 mentor。一人工程有:
- simedw 自己就是 mentor:simedw 指导自己
- simedw 不需要 VP 配对:simedw 自己决定
- simedw 不需要 1-on-1:simedw 自己跟自己开会浪费时间
不需要 mentor,因为 simedw 自己 = mentor。
第一周不上班在大公司的细节
大公司新员工第一周不上班:
- 周一:HR 介绍(公司文化 / 福利)
- 周二:IT 介绍(电脑 / Slack / Jira / GitHub)
- 周三:部门介绍(团队 / mentor / buddy)
- 周四:代码库介绍(架构 / 工具链)
- 周五:mentor 1-on-1
新员工第一周不写代码,只学。
一人工程没有第一周。一人工程有:
- simedw 周一:写代码
- simedw 周二:写代码
- simedw 周三:写代码
- simedw 周四:写代码
- simedw 周五:写代码
simedw 第一周就开始写代码,因为 simedw 自己知道所有架构。
内部 wiki 在大公司的细节
大公司内部 wiki——Confluence / Notion 上 1000 页 wiki:
- 架构文档:每个服务 5-10 页
- API 文档:每个 API 5-10 页
- 流程文档:每个流程 5-10 页
- 决策记录:每个 ADR 5-10 页
- runbook:每个 runbook 5-10 页
- postmortem:每个 postmortem 5-10 页
每个 wiki:
- 1000 页
- 全员可读
- 维护成本高
一人工程没有内部 wiki。一人工程有:
- simedw 的 commit message:每个 commit 5-10 行
- simedw 的 README:1 页
- simedw 的 git log:所有 commit 历史
commit message + README + git log = 1000 页 wiki 的最小子集。
codebase tour 在大公司的细节
大公司 codebase tour——mentor 带新员工走 codebase:
- 架构介绍:每个服务做什么
- 代码 walk-through:关键文件 walk-through
- 调试演练:mentor 演示调试
- 开发演练:mentor 演示 commit + PR
每个 codebase tour:
- 2-3 天
- mentor 全程陪同
一人工程没有 codebase tour。一人工程有:
- simedw 自己知道 codebase:simedw 写代码时知道每个文件
- simedw 不需要 walk-through:simedw 自己 walk
- simedw 不需要 mentor 演示:simedw 自己演示
一人工程的 onboarding 哲学
大公司 onboarding 是因为他们有:
- 100 个新员工 / 季度(需要培训)
- 100 个 mentor(需要指导)
- 100 个 buddy(需要配对)
- 10 个 HR(需要协调)
- 1000 页 wiki(需要维护)
一人工程没有这些。一人工程有:
- 0 个新员工(没有新人)
- 0 个 mentor(自己就是 mentor)
- 0 个 buddy(自己就是 buddy)
- 0 个 HR(自己就是 HR)
- 1 页 README(不需要 wiki)
onboarding 在一人工程里 = git log + commit message + README。
我就是 onboarding
大公司 onboarding 是多角色协作的:
- HR 主导
- mentor 技术指导
- buddy 日常帮助
- VP 配对
一人工程 onboarding 是git log 自动记录的:
- commit 时间戳 = 新员工什么时候参与项目(= 项目历史)
- commit message = 每次改动的 why
- README = 项目简介
- HN 评论 = simedw 思路
不需要 HR,不需要 mentor,不需要 buddy,不需要 VP。
公开 vs 私有 onboarding
大公司 onboarding 是半公开:
- onboarding doc 公开(公司内部)
- 内部 wiki 公开(公司内部)
- 部门介绍公开(部门内部)
一人工程 onboarding 是完全公开:
- git log 公开(GitHub 公开)
- README 公开(GitHub 公开)
- HN 评论公开(HN 公开)
simedw 的 onboarding 通过 GitHub + HN 公开——任何人都可以读 simedw 的 commit message 了解 simedw 的思路。
一人工程 + 我就是 onboarding
simedw 不做 onboarding doc。 simedw 不做 buddy 系统。 simedw 不做 mentor 系统。 simedw 不做内部 wiki。 simedw 写代码 + commit + 写 commit message。
onboarding 在一人工程里不是流程,是git log + commit message + README。
solo engineer 没有 onboarding。 solo engineer 的 onboarding = git log + commit message + README。
solus opus.