System design is the process of defining components, data flows, interfaces, storage choices, scaling strategy, reliability controls, and operational behavior for a software system.
At senior levels, system design is less about drawing boxes and more about making tradeoffs explicit. A good design explains why each component exists, what it owns, how it fails, how it scales, and how teams will operate it.