What 'high level' means
High-level system design is about boxes, arrows and trade-offs — not code. Given a vague product ("build a URL shortener"), you decide which components exist, how data flows between them, where it lives, and what breaks first as traffic grows.
You're done learning a concept when you can answer three questions about it:
- What problem does it solve? (what hurts without it)
- What does it cost? (latency, consistency, money, complexity)
- When would I not use it?
Almost every design you'll see is a variation of the picture above. The course adds one piece at a time and asks why.