Boxes and arrows are not decoration — they are the load-bearing language.
Communicating Designs Visually: boxes and arrows are not decoration
frame the problem before drawing the system
More annotations slow drawing but accelerate Q&A.
A whiteboard sketch is the most efficient compression of a design. The trick is to use shapes and arrows consistently — clients on one side, datastores on the other, async vs sync arrows distinct, layering top-to-bottom — so the picture itself answers most follow-up questions.
There are five common diagrams: high-level architecture, sequence, data flow, deployment, and state. Each is best for one kind of question. Learn to pick.
Conventions matter more than aesthetics. Always layer: client at top/left, edge below, app, then data, then external. Solid arrows for sync calls, dashed for async/eventual. Label arrows with the operation, not just 'GET'.
Annotate hot facts: replication factor, p95 latency, peak QPS, TTL. Three numbers in the right place tell more than three paragraphs.
Drawing an upload pipeline on a whiteboard.