Design Workflow
Loading
Loading
Design Workflow
Seven steps, in order, with the mistake each one prevents.
By the end of this chapter
Under time pressure — an interview, a sprint — the temptation is to jump to a shape you recognise. That produces designs that are locally clever and globally wrong, because the shape was chosen before the problem was understood. A fixed order prevents it.
| Ask | Because the answer changes |
|---|---|
| Who uses this, and how many of them? | Whether concurrency is in scope at all |
| What must never be wrong? | Where invariants and validation live |
| What will change first? | Where the seams go |
| What is explicitly out of scope? | How much you are allowed to not build |
| Is there existing code this must fit? | Whether you are free to choose the shape |
A finished design has, for each significant decision, a sentence of the form: I chose A over B because C. If you cannot produce that sentence, either the decision was arbitrary — in which case take the simpler option — or you have not yet understood why you made it.
This is also the honest standard for reviewing someone else's design, including the AI reviewer in this track. "This is wrong" is not useful. "This couples the processor to a specific provider, so a second provider means editing the processor — was that deliberate?" is.
Sign in to keep a note here. It is free, and nobody else can see it.
Sign inWhat this chapter was for: