Terraform Guide

How to explain infrastructure to a new joiner: three questions, one picture, no repo tour

By the engineer who builds Datadef, from client work on data platforms · Reviewed August 21, 2026

The standard onboarding session is a screen share where someone scrolls through the Terraform repo saying this is the networking module, this is where we do the Databricks bit. The new joiner nods. Four days later they ask which environment is real, because nothing in that tour told them. Infrastructure onboarding fails at the map, not at the details, and the details are the only part the code already provides.

7 min readFor platform leads who run the same onboarding session every quarter

See it as a diagram

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

144/20003 credits left
Try:

No account needed · Editable canvas, not a picture

What the new joiner cannot get from the code

They can read HCL. Most engineers can read a resource block on their first day, and the ones who cannot will manage by the second. What the repository does not tell them is which of the directories is load-bearing, which environment reflects production reality, which resources exist but are not managed here, and who to ask when something is on fire.

It also does not tell them proportion. The Azure platform repository this parser was built against declares 123 resources and curates to roughly 36 drawn nodes; the remainder is role assignments, grants, key vault secrets, and network interfaces, counted in a note instead of drawn. A newcomer reading file by file has no way to know which resources carry the architecture, so they weight all 123 equally and remember none of them.

The three questions, in 90 minutes

Question one, what does this build. Answer it with one diagram and a five-minute narration. Not a tour of files: a picture with the real component names on it, so that when they later read a directory called lakebase they can place it.

Question two, where does the data or the request go. Trace one concrete path out loud, end to end, including the boring hops. This is the part that turns a static picture into a mental model, and it is the part that never survives in written docs.

Question three, what happens when I change something. Branch, plan, who reviews, which stacks apply in which order, what is protected. Ten minutes here prevents the week-three incident where someone applies the wrong stack because nobody said the stacks have an order.

Then stop. Anything more is reference material, and reference material should be read, not narrated. Point them at the module reference table and let them go.

00:00  what this builds        one diagram, real names, five minutes
00:05  the walkthrough         trace one request or one dataset, end to end
00:35  the change procedure    branch, plan, review, apply order, protections
00:45  what we do NOT own      unmanaged resources, other teams, legacy
00:55  first task              a scoped change in the least dangerous stack
01:30  end

Prepare three artifacts, not a slide deck

A current architecture diagram, an environment map, and a list of what the repo does not own. That is the whole pack. The reason to generate the diagram rather than draw it is specific to onboarding: a new joiner cannot detect that a diagram is wrong. An experienced engineer sees a missing queue and corrects for it silently; a newcomer builds their entire mental model on the error and carries it for months.

Connect the repository read-only, pick the branch that represents reality, and the diagram regenerates on a daily sync. Node identities derive from Terraform addresses, so a re-sync updates the picture rather than reshuffling it, and the diagram someone narrated last quarter still looks like the one on screen today. A node you dragged more than twelve pixels from where the previous sync left it counts as hand placed and is put back there after each redraw, so an arrangement made for a session survives the next commit.

Put it where onboarding actually happens. A live embed renders the current diagram in a Notion or Confluence onboarding page with no account required to view, which matters on day one when the new joiner's access requests are still pending. Keeping the surrounding text current is its own habit, covered in onboarding docs upkeep.

FAQ

How long should an infrastructure onboarding session be?

About 90 minutes of live narration, covering what the system builds, one traced end-to-end path, the change procedure, and what the team does not own. Beyond that, retention drops and the material belongs in reference documents the new joiner reads at their own pace.

What is the single most useful onboarding artifact for infrastructure?

A current architecture diagram carrying the real component names, because it gives the newcomer somewhere to attach every later fact. Real names matter more than shapes here: they are what lets someone connect the picture to a directory, a module, and a resource address when they open the repository, which a diagram of boxes labelled Frontend and Backend never does.

Should the onboarding diagram be simplified?

It should be curated, not simplified into fiction. Keep the components that carry the architecture, roll repeated minor resources into counted groups, and leave identity wiring out of the boxes. A diagram that omits a real system is worse than a dense one, because the newcomer cannot know what is missing.

Why not just walk a new joiner through the repository?

A file tour teaches file locations, which the newcomer could have found, and skips proportion, which they cannot. In a typical platform repository only a small fraction of declared resources carry the architecture, and a linear tour gives every one of them equal weight.

How do we stop the onboarding material from going stale between hires?

Generate the parts that can be generated. A diagram and architecture doc regenerated from the connected repository on a daily sync are current when the next hire arrives, without anyone remembering to update them, and the handwritten parts shrink to intent and process.