Software EngineeringBackend & APIsIntermediateFeaturedTrending

System Design for Working Engineers

Distributed systems, tradeoffs, and the interview room — taught by a staff engineer who actually does this.

4.8 (214) 42 lessons · 6 modules 14h1.4k studentsLanguage: English

Taught by

Ananya Iyer

Staff Engineer at Razorpay · Bengaluru

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

1

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
2

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
3

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
4

API design and contracts

2 lessons

REST, gRPC, and event-driven contracts.

  • REST done right22 min
  • When gRPC is worth it18 min
5

Reliability: SLOs, incident response, and on-call

2 lessons

What production actually looks like.

  • Setting SLOs20 min
  • Incident response playbooks25 min
6

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

Ananya Iyer

Staff Engineer at Razorpay · Bengaluru

4.9 (214)3.2k students2 courses

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

5
78%
4
16%
3
4%
2
1%
1
1%

Suresh Mahadevan

12 Aug 2024

34 found this helpful

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

18 found this helpful

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

47 found this helpful

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?
No. The course uses language-agnostic examples. Code snippets, where present, are in Python or Go but are short and readable.
Is this useful for SRE roles?
Yes. The reliability and SLO modules are directly relevant to SRE interviews and day-to-day work.
How is this different from the free system design content online?
It is structured, it is taught by someone who currently does this at scale in an Indian product company, and it covers the interview format with real mocks.