The senior engineer tax
- Environment setup blockers — 2–4 hours of back-and-forth on toolchain issues, access requests, secrets management
- Repeated questions — 1–2 hours/week answering questions the new hire couldn't find in docs
- First PR reviews — 3–5 hours reviewing onboarding PRs that are often incomplete or blocked waiting for clarification
- Context transfers — 1–2 hours/week walking the new hire through system architecture, conventions, and team norms
The five friction points that kill onboarding momentum
- 1. Environment setup that only works if you already know the secrets. The README is six months stale. The Docker config references a service that was renamed. The new hire spends two days debugging an issue that would take a senior engineer five minutes to spot.
- 2. No visibility on first PRs. The new hire opens their first PR. It sits for 36 hours without a review because the senior engineers didn't notice it — they're monitoring dozens of PRs and didn't register that this one needed extra attention.
- 3. Invisible CI failures. The new hire pushes a commit that breaks CI. They don't know what broke or how to fix it. They wait for someone to tell them rather than having a structured path to diagnose the failure.
- 4. No baseline for "normal." The new hire can't tell whether a 4-hour PR review wait is a team norm or a sign something is wrong. They can't benchmark their own velocity against the team's.
- 5. Knowledge is locked in individuals. The answer to most onboarding questions lives in the head of the two senior engineers who built the original system. There's no automated runbook, no searchable decision log, no structured path to the answer.
Building an automated onboarding runbook
Here's what that looks like in practice:
- First PR auto-assignment. When a contributor opens their first PR in the repository, automatically assign a designated onboarding reviewer. Don't rely on the new hire tagging the right person or a senior engineer noticing the queue — wire it automatically from the contributor's PR count.
- First-PR stale alerts. If the new hire's first PR has been open for more than 24 hours without a review, escalate to the EM automatically. Not a daily standup mention — an immediate, actionable notification that says "Anya's first PR has been waiting 26 hours."
- CI failure routing. When a new contributor's CI run fails, route the failure notification to both the contributor and their assigned buddy — with structured context (which test failed, which file, which commit). Not just a raw failure link.
- Buddy assignment automation. Wire the assignment of an onboarding buddy to the PR open event. When a new engineer opens their first PR, the buddy is tagged and context is provided. No manual memory required from the EM.
The onboarding metrics that tell you if it's working
The leading indicators you should be tracking from week one:
- Time-to-first-PR. How many days from start date to first PR opened? Benchmark: <5 days for most engineering teams. If it's over 10, there's a setup friction problem in the first week.
- First-week CI pass rate. What percentage of the new hire's CI runs pass in their first 5 working days? A low pass rate doesn't mean the hire is bad — it means the onboarding path doesn't prepare them to write tests that match your CI configuration.
- First-PR review lag. How long does the new hire's first PR sit before receiving a review? Compare this to the team average. If the new hire's first PR takes 2× longer than a standard PR to get reviewed, senior engineers are deprioritizing it in their queue.
- Question frequency by week. Track (even informally) how many unblocking questions the new hire asks per week. A sharp drop-off between week 2 and week 4 is healthy. A plateau in week 4 means they've hit a knowledge wall and stopped asking.
The 30-60-90 day onboarding friction checklist
First 30 days (Setup → First contribution)
- Environment setup path documented and tested by someone who joined in the last 90 days (not the original author)
- Automated CI failure notification routed to new hire + buddy (not just the committer)
- First-PR auto-assignment configured for new contributors
- 24-hour first-PR stale alert wired to EM
- New hire's PRs tracked as a filter in your signal feed
Days 30–60 (Contribution → Independent work)
- New hire's PR review lag compared to team average — flag if it's consistently 2× higher
- New hire's CI pass rate trending upward week-over-week
- Buddy check-in structured (not ad hoc) with a recurring reminder automation
- First meaningful feature PR opened (not just bug fix or doc change)
Days 60–90 (Independent work → Team peer)
- New hire's velocity metrics comparable to junior team baseline
- New hire performing first-time PR reviews (not just receiving them)
- Onboarding runbook updated with anything that was wrong or missing
- Senior engineer time-cost tallied — did you hit the 8–12h/week benchmark or better?