System Design
A complete 25-lesson System Design course — from scalability, load balancing, and caching through databases, consistent hashing, the CAP theorem, and rate limiting, culminating in a URL shortener, a rate-limiter service, and a notification-system design project.
25 Lessons · 750 min · Learning Platform Editorial Team
What Is System Design — Course Roadmap
What you need on the desk
- A code editor for the illustrative Python snippets (VS Code recommended)
- Python 3 to optionally run the algorithmic examples (consistent hashing, rate limiter, etc.)
- No external services, accounts, or infrastructure required
Know this much before you start
- Comfort with at least one programming language and basic web request/response concepts
- The Data Structures & Algorithms course (hash maps, caching, graphs) is a natural, but not required, prerequisite
- No prior distributed-systems or infrastructure experience needed
- No specific tools required — this course is concept-and-diagram driven
By the end, you can
- Reason about scalability, latency/throughput trade-offs, and back-of-envelope capacity estimation
- Choose the right load-balancing and caching strategy for a given access pattern
- Explain database replication, sharding, and consistent hashing, and when each is needed
- Apply consistency models and the CAP theorem to real design trade-offs
- Design rate limiters, sound API boundaries, and fault-tolerant, redundant systems
- Design real systems end to end — a URL shortener, a rate-limiter service, and a notification system