◐ system-design/system-design-syllabus.md
System Design Syllabus — 24 Weeks
Phase 2. Run in parallel with Neetcode (Phase 1) at 30 min/day, then ramp to 1h/day from Aug.
~3 min read·updated 5/29/2026
System Design Syllabus — 24 Weeks
Phase 2. Run in parallel with Neetcode (Phase 1) at 30 min/day, then ramp to 1h/day from Aug.
Resources
- Designing Data-Intensive Applications by Kleppmann (DDIA) — the bible
- System Design Primer (donnemartin/system-design-primer on GitHub)
- HelloInterview free design walkthroughs (YouTube)
- ByteByteGo newsletter + book
Weekly cadence (8 weeks DDIA + 8 weeks SDP + 8 weeks practice)
Block A — DDIA (Weeks 1-8, May–Jun parallel to Neetcode)
| Week | DDIA chapter | Topic | Practice |
|---|---|---|---|
| 1 | Ch 1 | Reliable, Scalable, Maintainable | Sketch supplement-store's failure modes |
| 2 | Ch 2 | Data Models | Document DB vs SQL — why InvoiceAI uses Postgres |
| 3 | Ch 3 | Storage & Retrieval | B-trees vs LSM trees, indexes (you use Prisma — what indexes does Prisma actually create?) |
| 4 | Ch 4 | Encoding & Evolution | JSON vs Protobuf vs Avro; how Stripe versions APIs |
| 5 | Ch 5 | Replication | Single-leader, multi-leader, leaderless. Supabase = single-leader Postgres |
| 6 | Ch 6 | Partitioning | Why your Life OS uses single-DB partitioned by userId vs sharding |
| 7 | Ch 7 | Transactions | ACID, isolation levels, Postgres SERIALIZABLE in your billing flows |
| 8 | Ch 8 + 9 | Distributed problems + Consistency | CAP, consensus (Raft), why this is hard |
Block B — System Design Primer (Weeks 9-16, Jul–Aug)
Work through SDP's "Design a system" exercises in order:
| Week | Design |
|---|---|
| 9 | Pastebin / Bit.ly (URL shortener) |
| 10 | Web crawler |
| 11 | Mint.com (personal finance — relevant to your Life OS expense tracker!) |
| 12 | Twitter / Instagram feed |
| 13 | YouTube / Netflix (video streaming) |
| 14 | Uber / Lyft (real-time matching) |
| 15 | WhatsApp / Slack (chat at scale) |
| 16 | Search autocomplete |
Block C — Practice + Mock interviews (Weeks 17-24, Sep–Oct)
| Week | Activity |
|---|---|
| 17 | HelloInterview: Design Dropbox |
| 18 | HelloInterview: Design Yelp |
| 19 | HelloInterview: Design TopK Ranking |
| 20 | First Pramp mock — system design (free, peer) |
| 21 | Second Pramp mock |
| 22 | First interviewing.io mock with paid Google interviewer ($150-$200) |
| 23 | Re-do weakest design from earlier weeks |
| 24 | Final mock — record yourself solo on whiteboard, review |
The 6-step framework (memorize this)
For any design question:
- Clarify requirements (5min) — functional + non-functional. Numbers: users, QPS, data size, latency targets.
- High-level design (5min) — boxes + arrows. Client → API gateway → services → DB.
- API design (5min) — REST or gRPC, endpoint shapes, request/response.
- Data model (5min) — tables, relationships, indexes, partition keys.
- Deep dive (15min) — pick 2-3 components, dive deep. Caching, queue, replication, sharding.
- Bottlenecks + scaling (10min) — what breaks at 10x? At 100x? How would you fix?
Practice this framework on every design question. Interviewers grade structure as much as substance.
Topics that MUST be fluent
- Load balancing (L4 vs L7, sticky sessions, consistent hashing)
- Caching (Redis vs Memcached, cache-aside vs write-through, TTL strategy)
- Database scaling (read replicas, sharding, denormalization)
- Message queues (Kafka vs RabbitMQ vs Redis Streams; at-most-once vs at-least-once vs exactly-once)
- CDN (when, why, what to cache)
- Rate limiting (token bucket, sliding window log/counter)
- Idempotency (idempotency keys, deduplication)
- Observability (logs, metrics, traces)
- Event sourcing + CQRS basics
- WebSockets / SSE / long polling
Topics you can skip
- Bitcoin/blockchain (irrelevant for L3/L4)
- ML system design (only if applying to ML roles)
- Hardware specifics (you're SWE not SRE)
- Specific cloud quirks (focus on patterns, not "AWS X service does Y")
Building strengthens design (and vice versa)
Every project in your sprint touches a design topic:
- supplement-store: caching strategy for product list, idempotency on Razorpay webhook
- InvoiceAI: queue for reminder cron, multi-tenant data partitioning
- NoteFlow: async processing pipeline, job queue + DLQ for Whisper jobs
- Life OS: modular monolith, observability, BullMQ workers
- Content Engine: distributed cron, fan-out across niches, error handling on third-party APIs
When you read a DDIA chapter, immediately ask "where does this show up in what I'm building?" The answers become interview talking points.
// 2 views