The five things every system design has to make concrete decisions about: data, state, control flow, failure, and observability. Each one is a hinge point where good and bad designs diverge.
How a staff engineer actually approaches a system design in the wild. Framing the problem, separating requirements from constraints from tradeoffs, surfacing hidden assumptions, sketching before deciding, and treating the design as a communication artifact.