Practice
Practice speech + drawing, not silent reading.
Mocks: voting, vrm, ingest; SDS webhook (easy), rate-limiter (medium), payment-system / robinhood. Method: Method.
1. Observation drill (10 min, no boxes yet)
Someone (or you) reads an underspecified prompt.
You only: restate, list actors, verbs/nouns/adjectives, ask 5 questions, write NFRs and “worse: stale vs wrong vs down vs leaked.” Stop. This is the skill they named.
2. Forced-box whiteboard (15–20 min, timer)
Add components only when a constraint appears. Narrate: “Producer can be late → queue. At-least-once → idempotent consumer. Two pictures of the world → break entity. Write must not double-count → unique constraint + client key.”
3. Full board + EM close (45 min)
Use the problem folders. Candidate: prompt only. Partner: interviewer page.
- Loan voting — highest visibility for the domain loop
- Reconciliation — two ledgers
- Agent ingest — shorter second mock
- SDS fluency: webhook then rate limiter; payment or Robinhood if the prompt might be generic/hard
One deep correctness board until it is automatic; ingest as a short variant; one SDS board if you have time. Do not draw two full systems in one hour.
4. Think-aloud recording
Phone recording + paper/whiteboard. Listen for dead air, jumping to Kafka, or skipping authz. You should sound like you are discovering the design from constraints.
5. Stakeholder overlay (5 min after every board)
Excel-by-Friday / “it just syncs” / “make the demo look live.” Spine: outcome → constraint → two hows → risk → team implication → ask for a decision.
Never “engineering says no.” Never “we’ll hardcode it.”
6. Exec translation
Say CAP, sagas, and SLOs in English once per session: “We can have a live-looking grid this week that can be wrong, or a smaller honest slice in two. I recommend two. If the date is political, we cut scope, not golden source.”
Interview clock (45–60 min)
Adapted from SDS:
- Requirements / decomposition (8–10 min) — you lead; write NFRs on the board
- APIs (3–5 min) — readable resources, authz in the contract
- High-level design (15 min) — one box at a time
- Deep dives (15 min) — 2–3 hard constraints
- EM close (3–5 min) — rollout, SLOs, team shape, v1 cut, exec summary
If time dies, drop CDN and object storage; keep golden source and authz.
Prep loop
| When | What |
|---|---|
| Session A | SDS primer + NFRs + idempotency/queues/sagas. Close the laptop and recite verbs/nouns/adjectives + CAP in English |
| Session B | One correctness board twice (once notes, once blank paper, out loud, 20 min) + EM close |
| Session C | Two-ledger board from Temelio memory + stakeholder “it just syncs” |
| Session D | Short ingest + hot partition / poison / late feed. Then webhook or rate limiter |
| Night before | Open paragraph; 10-min sketch; two stories; sleep. Do not cram Kafka |