Puneet Patwari (@system_monarch) header
Puneet Patwari (@system_monarch) profile picture

Principal @Atlassian | Helping engineers reach Staff/Principal | 1:1 Mentorship & Mock Interviews | 90+ System design fundamentals - https://nitter.cf/t.co/Ots2nRhO5f

Hyderabad
Joined December 2025
Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)Photo by Puneet Patwari (@system_monarch)
A month ago, I told everyone: "I've been a backend Engineer for 12+ years. Today, I'm a Principal Engineer at Atlassian. I've designed systems that handle millions of requests. Sat on both sides of system design interviews. Reviewed more architecture docs than I can count. Starting today, I'm breaking down the fundamentals of scaling for the next 25 days. If you're learning system design bookmark this thread, you're going to get a lot of learning from this." FYI, the series has concluded. Here are all the concepts, please bookmark, share, learn and the most important build from the learnings you get. Also, if you have any ideas on what you'd like to see from me, please let me know, any other series or concepts to be broken down.
34
109
2
1,385
133,760
What system design rounds expect at each salary band in India: ₹20–35 LPA (SDE-2) ↣ design one service end to end ↣ APIs, schema, indexes, caching ↣ "Design a URL shortener" ₹35–60 LPA (Senior) ↣ scale it to 10x without falling over ↣ sharding, queues, replication, real numbers ↣ "Design WhatsApp message delivery" ₹60 LPA–1 Cr (Senior+ / Staff) ↣ trade-offs across many services ↣ consistency, migrations, cost, multi-region ↣ "Move payments to a new database with zero downtime" ₹1 Cr+ (Staff / Principal) ↣ what to build, what to cut, who owns what ↣ 5 teams shipping without breaking each other ↣ "Our cloud bill is ₹2 Cr a month. Cut it in half." Every jump in pay is a jump from "build this" to "decide this."
3
321
Interviewer: Why can't you just buy a server with 10 TB of RAM and keep your whole database in memory?
3
331
My career switches: 2013: TCS (after Microsoft rejected me) 2018: ThoughtWorks 2019: Freshworks 2022: Microsoft 2025: Atlassian, Principal Engineer Five companies in 12 years, each switch for a harder problem than the last. Compounding looks boring until year 10.
5
3
69
3,223
Netflix staff system design round: Interviewer: "One of your 200 instances has a bad config. It returns a 500 error in 2ms for every request. Your load balancer uses least-connections. Within a minute, 40% of all traffic is going to the broken instance. Why?"
6
1
20
5,054
Least-connections sends each request to the server with the fewest open connections. A server that fails in 2ms closes every connection almost instantly. So it always looks like the least busy server in the fleet, and it keeps winning. Fix: eject hosts on error rate (outlier detection), not just "is it alive", and slow-start new hosts. Fast failures look exactly like a healthy, idle server to a load balancer.
3
682
Interviewer grilling you on CS fundamentals: Your server has 40GB of free RAM. CPU is at 8%. It refuses every new connection with "Too many open files." How?
5
2
82
15,150
Every socket is a file descriptor. Linux caps how many one process can hold (ulimit -n, often 1024 by default). RAM has nothing to do with it. Raise the limit, then find out why you hit it: connections nobody closes, sockets stuck in CLOSE_WAIT, a client that never sets a timeout. The limit was the alarm. The leak is the bug.
2
14
1,667
Payments system design round. How many of these can you explain clearly: Idempotency keys Double-entry ledger Authorisation vs capture Refunds vs reversals Webhook retries and dedup Reconciliation Settlement cycles Chargebacks Exactly-once vs effectively-once The outbox pattern Holding money in a "pending" state 8 or more and you can walk into a fintech company's loop and do a decent job. Almost every backend engineer in India ends up working with payments systems at some point. Learn this list before that day comes.
14
25
250
9,587
AI system design in 6 lines: Slow answers → stream the response Big bill → cache repeated questions Hard questions → route to a bigger model Wrong answers → better retrieval + evals Runaway agent → step limit + kill switch Provider outage → fallback model
12
8
80
4,043
System design round at OpenAI: You switch to a model that's 5x cheaper per token. Same prompts. Same traffic. The monthly bill goes up 30%. What happened, and what should you have measured before switching?
10
64
10,528
Price per token was never your cost. Tokens per successful answer was. The cheaper model: → writes longer answers → breaks your output format more often, so your code retries → gives weaker answers, so users hit "regenerate" → needs a longer prompt with more examples to behave Measure cost per completed task before you switch. That's the number finance will ask you about on Monday.
6
982
A principal engineer may write less code than the strongest senior on the team. But one decision can remove six months of unnecessary work, prevent an outage, or let three teams move independently. Output is visible. Avoided complexity usually is not.
5
2
1
80
4,097
“Which framework should I learn next?” Before adding another one, answer these: Why did your last service time out? How does its data recover after a crash? Which invariant must never break? Frameworks change. Failure modes keep interviewing you.
1
10
2,344
A design can be technically correct and still fail the team. If only one engineer can deploy it, debug it, or explain its failure modes, you did not build a resilient system. You built a dependency on one person.
3
18
2,196
Staff-level work is not doing the hardest ticket on every team. It is finding one constraint that makes five teams slow, then removing it without creating a new dependency everyone must carry. Leverage often looks boring from the outside.
16
1,659
System design round at BookMyShow for SDE-3 (₹70L+ CTC): 12:00 PM. Coldplay tickets go live. 8 lakh people are in the queue for 50,000 seats. Two users tap seat F-14 in the same millisecond. Both see "Seat selected." You can't lock the whole seat map on every click. If you lock nothing, one of them pays ₹6,500 for a seat someone else already owns. How do you make sure every seat goes to exactly one person, without freezing the seat map for everyone else?
20
18
2
389
113,172
Btw, seat holds and idempotent payments come up in almost every Senior round. I've written full answers to 93 questions like these in my System Design vault, and the one on idempotency is free to read: puneetpatwari.in
6
2,032
CANCEL your weekend plans. You NEED to: - Load test your side project until it breaks, then fix the first bottleneck - Add tracing to one request and read every span - Put your LLM call behind a timeout, a retry limit and a fallback model - Rewrite one OFFSET query as keyset pagination - Kill your database mid-request and watch what your app does - Write the runbook you wished existed the last time prod went down - Read one real postmortem end to end. Cloudflare, GitLab or AWS. One weekend of this beats a month of tutorials.
8
34
4
441
18,981
If AI can produce a standard architecture diagram in seconds, interviews should care less about recall. Change one constraint instead: “The dependency is down, the retry is unsafe, and 1% of requests may be dropped. What do you protect?” Judgment is harder to autocomplete.
3
24
2,213
If you learn backend engineering for AI, you will never be unemployed again. Stage 1: LLM calls are backend calls - Learn: tokens, streaming, timeouts, retries, structured outputs. - Practice: wrap an LLM API with a timeout, retry limit, fallback model and a cost log per request. Stage 2: Retrieval - Learn: embeddings, chunking, hybrid search, reranking, metadata filters. - Practice: RAG over real docs, with citations and a freshness filter. Stage 3: Cost and latency - Learn: prompt caching, semantic caching, model routing, batching. - Practice: cut cost per query by 50% without dropping your eval score. Stage 4: Agents in production - Learn: tool calling, step budgets, idempotent tools, human approval. - Practice: an agent that can issue a refund safely. Stage 5: Evals and observability - Learn: golden datasets, LLM-as-judge, tracing. - Practice: an eval suite in CI that blocks a bad prompt change.
21
67
1
490
19,552