System Design for Working Engineers
Distributed systems, tradeoffs, and the interview room — taught by a staff engineer who actually does this.
What you’ll learn
- A repeatable framework for any system design question
- How to evaluate tradeoffs between consistency, availability, and latency
- Picking the right data store for the problem in front of you
- Caching strategies that do not fall over at 3 AM
- How to approach the system design interview with confidence
About this course
A system design course for engineers who already build software and want to get better at the architectural level. We cover distributed systems concepts, data store selection, caching, reliability, and the interview format — all with real examples from Indian product companies. No hand-waving, no “just use Kafka” without explaining why.
Curriculum
6 modules · 42 lessons · 14h
1Foundations: Why distributed systems are hard
4 lessons
Foundations: Why distributed systems are hard
4 lessons
CAP, consistency models, and the real tradeoffs you will face.
- The CAP theorem in practicePreview18 min
- Strong vs eventual consistencyPreview22 min
- When to use a queue16 min
- Exercise: model a payments system30 min
2Data stores at scale
3 lessons
Data stores at scale
3 lessons
PostgreSQL, DynamoDB, Cassandra — picking the right one.
- B-tree vs LSM indexes20 min
- Sharding PostgreSQL25 min
- When to use DynamoDB18 min
3Caching and the cache invalidation problem
3 lessons
Caching and the cache invalidation problem
3 lessons
Redis, CDN strategies, and why cache invalidation is still hard.
- Cache-aside vs write-through15 min
- TTL strategies that work12 min
- Quiz: cache invalidation scenarios10 min
4API design and contracts
2 lessons
API design and contracts
2 lessons
REST, gRPC, and event-driven contracts.
- REST done right22 min
- When gRPC is worth it18 min
5Reliability: SLOs, incident response, and on-call
2 lessons
Reliability: SLOs, incident response, and on-call
2 lessons
What production actually looks like.
- Setting SLOs20 min
- Incident response playbooks25 min
6The system design interview
3 lessons
The system design interview
3 lessons
How to approach the interview room with confidence.
- A framework for any design question30 min
- Mock: design a URL shortener35 min
- Mock: design a rate limiter28 min
Requirements
- 3+ years of backend or full-stack experience
- Comfortable with at least one database
- Basic understanding of HTTP and REST
Who this course is for
- Backend engineers preparing for senior interviews
- Full-stack engineers looking to level up on architecture
- Engineers who want to understand why their platform team made certain choices
Your tutor
Staff Engineer at Razorpay · Bengaluru
Distributed systems engineer who has built payment rails processing millions of transactions per day. Previously at Google and Flipkart. Teaches system design the way it is actually practiced — with real tradeoffs, real failure modes, and real interviews.
Student reviews
4.8
214 ratings
Suresh Mahadevan
12 Aug 2024
Finally a course that respects my experience
I have been building backends for 5 years and most system design content is either too basic or too academic. This one hit the sweet spot. The SLO module alone changed how I think about my on-call rotation.
Deepika R
28 Jul 2024
Strong content, wish there were more exercises
The video explanations are excellent and the mock interviews are genuinely useful. I would have liked a couple more hands-on exercises but the conceptual coverage is comprehensive.
Arjun Pillai
2 Sept 2024
Got me a staff offer
Cleared system design rounds at two Bengaluru startups and a large fintech after this course. The framework Ananya teaches is exactly what interviewers want to see.
Frequently asked questions
Do I need to know Go or any specific language?
Is this useful for SRE roles?
How is this different from the free system design content online?
More in Software Engineering
Modern React with Server Components
React 18, Server Components, Suspense, and the new mental model for building apps.
By Rohan Kapoor
Production Node.js at Scale
Backend architecture, observability, and the unglamorous parts that keep you up at night.
By Vikram Nair
TypeScript for Working Developers
Generics, inference, and the type system patterns you actually use.
By Rohan Kapoor