Docs & Code Guide

Keep onboarding docs up to date: your newest hire is the test suite

Onboarding docs have a structural problem no other documentation shares: their only readers are the people least equipped to fix them. Veterans never open the setup guide again, so they never see it break; newcomers see every break but lack the context and the standing to repair it. Left alone, this feedback loop guarantees decay. The fix is to make the newcomer the test suite on purpose: the friction log, a metric that shows drift, and one embed that keeps the system map current on its own.

7 min readFor teams where every new hire loses day one to broken setup docs

See it as a diagram

Everything below, as a diagram you can edit. Describe yours and see it in seconds.

217/20003 credits left
Try:

No account needed · Editable canvas, not a picture

Why onboarding docs decay fastest

Most documentation is at least occasionally read by someone who could fix it. Onboarding docs are not. The engineer who could correct the setup guide in four minutes has not read it since their own first week; the person reading it today does not yet know that the staging URL changed, only that the link is dead. Every failure is experienced by someone who assumes the failure is their own fault.

This is why onboarding pages are where tribal knowledge concentrates: the real onboarding becomes a series of Slack questions to whoever answered last time, and the document becomes a monument. The practices below all attack the same root: they route the newcomer's unique knowledge, the fresh list of everything that is broken, back into the docs before it evaporates.

The friction log

The friction log is a simple contract with every new hire: from the first hour, keep a running list of every step that failed, every instruction that was wrong, and every question you had to ask a human. No judgment, no filtering, just the raw record while the pain is fresh. A week in, the same knowledge is gone; day-1 confusion is unrepeatable data.

The second half of the contract closes the loop: before the first month ends, the new hire ships at least one fix from their own log, a doc edit, a corrected command, a repaired link, with a teammate clearing the way. This does more than patch a page. It teaches, in week one, that docs here are maintained by the people who hit their edges, which is the only culture in which any of this survives.

# Day-1 friction log: <name>, <start date>

Rule: every failed step, wrong instruction, or question you had
to ask a human becomes a row. Close at least one row yourself
with a doc fix before the end of month one.

| # | Doc step                  | What actually happened          | Fixed in   |
|---|---------------------------|---------------------------------|------------|
| 1 | "brew install foo"        | formula is now foo@2            | PR #4812   |
| 2 | Staging URL in wiki       | 404, environment was renamed    | wiki edit  |
| 3 | "ask #platform for a key" | channel archived, now #infra    | PR #4820   |

Measure it: time-to-first-PR

Onboarding docs are unusual in having a clean outcome metric: the time from a new hire's first day to their first merged pull request. It is cheap to track, hard to game, and sensitive to exactly the failures docs cause, since a newcomer blocked on setup or lost in the system map merges nothing. If the team and the codebase are stable but time-to-first-PR is creeping up cohort over cohort, doc rot is the first suspect.

Reviewing each new hire's friction log against that number tells you where the time went, and turns "our onboarding feels rough" into a ranked fix list. The same evidence feeds the periodic sweep described in the documentation audit checklist, with the onboarding path always audited first because its failures are the most expensive per reader.

The system map that maintains itself

One section of the onboarding page can be exempted from decay entirely: the architecture overview. Instead of a pasted screenshot that fossilizes on day one, embed the diagram by URL. A Datadef project shared public serves both an interactive embed for wiki pages and a permanent image URL for Markdown; either way, when the diagram is edited the onboarding page shows the new version within minutes, with no edit to the page itself. The Notion mechanics, embed block versus image block, are covered in embed diagrams in Notion.

Keeping the diagram itself current is a separate, honest step: a person edits it, or an AI agent connected to the Datadef MCP server updates it from the repo as a CI step after architecture-relevant merges. Datadef does not watch the repository; the regeneration is one wired command. But once wired, the newest hire's mental map of the system is built from a picture that matches production, which is worth more than any paragraph on the page.

What the friction log misses

The friction log fixes what newcomers can see, which is mostly the first two weeks of surface: setup, access, first tasks. Deeper drift, an architecture section describing last year's system, needs the embed pattern or a scheduled audit, because no newcomer can recognize that a wrong page is wrong. And the live embed requires a public Datadef project; for confidential architecture, a re-exported image with a stated refresh cadence is the fallback. What stale onboarding actually costs, in ramp time and early attrition, is quantified in the cost of outdated documentation.

The week-one contract

Every new hire keeps a friction log from hour one and ships at least one doc fix from it in month one. The docs get their only real test, and the hire learns that maintenance is everyone's job, both in the first week.

FAQ

How do I keep onboarding documentation up to date?

Use the newest hire as the test suite. Every new hire keeps a friction log from their first hour, recording each failed step and each question they had to ask a human, and ships at least one doc fix from that log in their first month. Track time-to-first-PR across cohorts to detect drift, and embed the architecture overview as a live diagram URL so the system map updates without page edits.

Why do onboarding docs go stale faster than other docs?

Because their only readers cannot fix them. Experienced engineers never reopen the setup guide, so they never see it break, while newcomers hit every break but lack the context to repair it and often assume the failure is their own. Without a deliberate mechanism routing newcomer observations back into the docs, decay is structural, not accidental.

What is a friction log in onboarding?

A running record each new hire keeps from day one: every setup step that failed, every instruction that was wrong, every question that required a human. It captures unrepeatable data, since a week later the same person no longer notices what confused them. Paired with the rule that the hire fixes at least one logged item themselves in month one, it becomes a self-sustaining doc maintenance loop.

Is time-to-first-PR a good onboarding metric?

It is the most practical one. It is cheap to measure, hard to game, and directly sensitive to documentation failures, since a new hire blocked on setup or lost in the architecture merges nothing. Rising time-to-first-PR across cohorts with a stable team and codebase points at doc rot, and the friction logs from those cohorts show exactly where the time went.

How do I keep the architecture overview on the onboarding page current?

Embed it by URL instead of pasting a screenshot. A Datadef diagram in a public project serves a permanent image URL and an interactive embed page; when the diagram changes, the onboarding page reflects it within minutes without being edited. The diagram itself is updated by a person or by an AI agent connected to the Datadef MCP server after architecture changes merge; nothing watches the repo automatically.