River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Engineer Onboarding Documentation Template

Four documents and three sheets that get a new engineer productive, built around a monthly sweep that catches a broken setup step before they do.

Free download  ·  No account needed

Most onboarding guides are written once, work on the day someone tests them, and are trusted from then on. GitLab's own contributor documentation admits the opposite is normal. Installing its development kit carries an official two-hour estimate, and setup "needs some tweaks to make it work" often enough that troubleshooting time gets budgeted in advance rather than treated as a failure. Most internal setup guides carry no such warning and no way to check, so a step nobody has rerun in months looks identical to one that still works.

This pack treats a setup step as unverified until something reruns it, a different finding than broken. Once a month, a sandbox clones the repository from scratch and reruns every step's own verification command, stamping today's date on whatever still passes and attaching the failure reason to whatever does not. A separate Common Question Log tags every question a new hire actually asks. A topic more than one hire raises becomes an explicit step, so the same gap should not survive to the next hire.

At Larkspur Robotics, a monthly sweep found 9 of 34 setup steps unverified past 90 days. Running those 9 for real failed 3 outright: a fixtures image the registry had already deleted, a sandbox credential past its own 120-day expiry, and a CLI flag two versions out of date. The same cohort's Common Question Log showed 9 of 12 new hires asking how to seed a local database, a step the guide never covered. Folding it in as an explicit step took the next 5 hires to zero repeat questions on that topic.

The guide's own sweep finds what a new hire would otherwise find for you

The Local Setup Guide, Common Question Log, and Reading Order sheets.

Local Setup Guide

Six of Larkspur Robotics' real 34 steps, chosen to show what the monthly sweep found.

StepActionLast VerifiedStatus
3Install the pinned Node version2026-08-14Verified
14Pull the fixtures image for test data2026-04-30Broken: tag deleted by registry
19Generate a sandbox API key2026-04-22Broken: key past 120-day expiry
26Install the internal fleet-seed CLI2026-04-18Broken: flag removed in v3
30Start the full local stack2026-08-14Verified
34Confirm a test order gets routed2026-08-14Verified

9 of 34 steps had gone unverified past 90 days. Actually rerunning them found 3 broken outright, each for a different reason a "last edited" date would never surface.

Common Question Log

Top five of 61 questions logged across 12 new hires over two quarters.

TopicDistinct hires% of cohortCovered before?
Seeding the local database9 of 1275%No
Who owns a given service6 of 1250%Partially
Env vars and secrets setup5 of 1242%Yes
Running one service's tests5 of 1242%No
VPN access to internal APIs4 of 1233%Yes

The top topic was not in the guide at all. Seeding the database was asked by 9 of 12 hires, 75% of the cohort, before it became an explicit step.

Reading Order

Ranked by read time and how often each document is referenced from a first-task ticket.

RankDocument% of first-task ticketsOld wiki position
1Local Setup Guide100%2
2System Overview92%1
3Glossary83%8
4Service Catalog75%5
5First Tasks67%3

The Glossary sat last in the old wiki and ranks third here. Referenced by 83% of first-task tickets, new hires were already skipping straight to the document its own table of contents buried at the bottom.

What's in the pack

01

System Overview

What the system does and how its parts connect, covering similar ground to a solution architecture document but written for a new hire, not an auditor.

02

Local Setup Guide

Every step paired with a verification command and a Last Verified date, so the guide can be reproven instead of just reread.

03

First Tasks

A standing set of first tickets sized to touch two or three real components, with the last one always a Glossary entry the new hire writes themselves.

04

Glossary

The internal shorthand nobody writes down until a new hire asks what it means for the third time.

05

Service Ownership Map

One row per component naming the owning team, a contact, and the on-call rotation, confirmed rather than inferred from a config file.

06

Reading Order

Every document ranked by read time and how often it's actually referenced from a first-task ticket, checked against wherever it sits in your existing wiki.

07

Common Question Log

Every question a new hire asks, tagged by topic, so a question two different people ask becomes a step instead of a coincidence.

How to use it

  1. 1

    Send what already exists

    The repository, whatever architecture docs and runbooks survive, and a recent incident if one is instructive about how the system actually fails.

  2. 2

    Get the overview and the map

    River drafts the System Overview and Service Ownership Map from what's there, naming the parts it could not confirm rather than guessing.

  3. 3

    Turn instructions into steps that reverify

    Every setup step gets a verification command, so the monthly sweep can prove it still works instead of assuming it does.

  4. 4

    Log questions and fold in the repeats

    Every question a new hire asks gets tagged by topic. A topic more than one hire raises becomes an explicit step in the guide.

Frequently asked questions

Is this template free?

Yes, and the download needs no account and no card. Edit with AI is the optional half: it reads what you send about the system and drafts the System Overview, Service Ownership Map and Local Setup Guide from it. Every other pack sits in the template library.

What format are the downloaded files?

Four documents as Word files and three sheets as CSVs, in one zip. The sheets arrive with the Larkspur Robotics rows in place as a worked example, so the format is visible before you replace it with your own system.

What if nobody on the team can explain the system at all?

This pack assumes someone can still explain how the system works, even imperfectly. If that person left and nobody can, reconstruct the architecture first, since that tool is built for recovering a system nobody currently understands rather than onboarding a new person onto one the team does.

How is this different from documenting an inherited codebase?

Scope. Inherited codebase documentation works module by module inside one repository someone has to maintain with no author left. This pack is broader and shallower on purpose: enough of the whole system, across every repository it touches, to get one specific new person shipping.

Does this replace an architecture decision record?

No. An architecture decision record holds why a specific choice still stands. The System Overview here states what the system does today and points to those records where a new hire would ask why, rather than re-arguing any of them.

What happens when a step can't be verified automatically?

It gets marked exempt rather than left to silently age in the same bucket as everything else. A step needing an interactive login or a credential the sandbox shouldn't hold gets a named person to recheck it manually on a schedule instead.

Does this cover a system that's being migrated or rebuilt?

No. This pack explains a system as it runs today, for a person joining the team that already owns it. A system being replaced needs a migration plan instead, and a proposal still being argued over belongs in an RFC register, not an onboarding guide.

Find the setup step that's already broken

Take the Word documents and CSV sheets blank, or open this exact pack in River and send it your own system.

Edit with AI