The five stages — the spine of every answer
One order to work in, so you never freeze in front of a blank whiteboard.
People freeze because the question is huge and there is no clear first move. The fix is to always use the same first move. These five stages are that move. It is a fixed order you use on every problem, so you are never deciding what to do next while someone watches you.
Stage 1 — Requirements. Say your assumptions out loud. Ask one or two questions that would change the design. Then suggest the scope yourself. The test for whether to ask something: would the answer change a box on the whiteboard? If it only changes a screen or a setting, assume it out loud and move on.
Stage 2 — Actors and lifecycle. Who touches this system? Include the system itself. Then write the life of the main thing as a chain of states, from start to end. Then do the part people skip: add the failure branches. At each state, ask two questions. What if this never finishes? What if one side quits here? A lifecycle with only the happy path is half a lifecycle. The missing half is where most of the design work is.
Stage 3 — Numbers. Estimate requests per second, storage, and bandwidth. Then say one sentence you must not skip: "so the hard part here is ___." If the numbers did not change your mind about anything, you either did the maths wrong or you ignored the answer.
Stage 4 — High-level design. Now, at last, boxes and arrows. Every box needs a reason from Stage 1 or Stage 3. A part that nobody asked for loses you points.
Stage 5 — Deep dive and trade-offs. Pick the two hardest parts and go deep on them. After every decision, say what it costs. Someone who picks a slightly worse option and names the cost scores higher than someone who picks the best option in silence.
- Having a fixed first move is what stops you freezing.
- Stages 1 to 3 take about a third of the time. They make everything after them easy to defend.
- Every box in Stage 4 must point back to Stage 1 or Stage 3.
- Stage 5 is where senior level shows: say the cost of each decision, out loud.