Saurabh Dashora

16.2K posts

Saurabh Dashora banner
Saurabh Dashora

Saurabh Dashora

@ProgressiveCod2

Writing the System Design Codex Newsletter • I simplify software design with concepts and case studies

Join 27K+ readers → Katılım Ocak 2019
310 Takip Edilen17K Takipçiler
Sabitlenmiş Tweet
Saurabh Dashora
Saurabh Dashora@ProgressiveCod2·
If you want to get better at System Design, read these 19 articles: [1] Extracting Services from a Monolithic App Why read it: Learn how to migrate critical functionality to a new service in a risk-free manner newsletter.systemdesigncodex.com/p/extracting-s… [2] Should You Fire and Forget an Event Why read it: Know the different ways to handle an event acknowledgment (examples with Kafka). newsletter.systemdesigncodex.com/p/should-you-f… [3] Stateless Architecture - What’s the Deal? Why read it: Everyone suggests building stateless apps. But what does it really mean? newsletter.systemdesigncodex.com/p/stateless-ar… [4] Practical Intro to Kubernetes Why read it: To learn the basics of Kubernetes, its internal architecture, and code examples newsletter.systemdesigncodex.com/p/practical-in… [5] CAP Theorem with Tom the Prankster Why read it: Understand CAP Theorem in a way you’ll never forget newsletter.systemdesigncodex.com/p/cap-theorem [6] 5 Strategies for High Availability Systems Why read it: Simple tips to improve your system’s availability newsletter.systemdesigncodex.com/p/5-strategies… [7] Change Data Capture and Microservices Why read it: To learn how CDC can help implement Outbox and Strangler Fig pattern newsletter.systemdesigncodex.com/p/change-data-… [8] 23 System Design Interview Tips Why read it: To learn key principles to consider while designing a system. newsletter.systemdesigncodex.com/p/system-desig… [9] Introduction to ACID Properties Why read it: To learn about the basic guarantees provided by a database. newsletter.systemdesigncodex.com/p/introduction… [10] How DNS Works? Why read it: To understand what happens when you open a website in the browser. newsletter.systemdesigncodex.com/p/how-dns-works [11] Intro Circuit Breaker Pattern Why read it: Learn about the circuit breaker pattern of building microservices newsletter.systemdesigncodex.com/p/intro-to-cir… [12] Introduction to Pre-caching Why read it: To understand the secret technique that can boost application performance newsletter.systemdesigncodex.com/p/introduction… [13] Load Balancers Why read it: To understand the types, algorithms, and high availability considerations behind a load balancer newsletter.systemdesigncodex.com/p/load-balance… [14] JSON Web Tokens and Authentication Why read it: To learn how JSON Web Tokens help with user authentication newsletter.systemdesigncodex.com/p/json-web-tok… [15] Database Caching Strategies Why read it: To understand the various database caching strategies and how to choose one newsletter.systemdesigncodex.com/p/database-cac… [16] Cookies and Sessions Why read it: To understand the difference between cookies and sessions with regards to authentication. newsletter.systemdesigncodex.com/p/cookies-and-… [17] API Performance Strategies Why read it: To learn about the best strategies to boost your API’s performance newsletter.systemdesigncodex.com/p/api-performa… [18] Types of NoSQL Databases Why read it: To learn about the most popular NoSQL database types and where to use them newsletter.systemdesigncodex.com/p/4-types-of-n… [19] How to Scale a Component? Why read it: Interview Tips on Vertical and Horizontal Scalability newsletter.systemdesigncodex.com/p/how-to-scale…
Saurabh Dashora tweet media
English
7
147
663
59K
Petar Ivanov
Petar Ivanov@petarivanovv9·
Here is a good list of tech newsletters that give you incredible knowledge mostly for free:
English
4
2
39
5.8K
Akos
Akos@akoskm·
i turn 37 🎈 no better day to unleash my latest creation (no life advice this time)
English
20
0
28
1.4K
Saurabh Dashora
Saurabh Dashora@ProgressiveCod2·
@RaulJuncoV This is a cool feature Raul. Takes away the pain of handling this stuff on the application side.
English
1
0
2
409
Raul Junco
Raul Junco@RaulJuncoV·
Amazon S3 added Conditional Writes last year. But most teams are still not using them. S3 used to be where you dumped backups and static files. Reliable, cheap, boring. Now? It's a core piece of modern architecture. It powers serverless apps, stores ML outputs, holds database snapshots, and feeds real-time analytics. And with conditional writes, it just leveled up again. Imagine you're building a collaborative document editor. 1. Two users load project-plan-v1.json. 2. Both make changes. 3. Both try to save project-plan-v2.json. 4. Without coordination, one overwrites the other. Classic race condition. With conditional writes, each user sends a PUT to S3 with If-None-Match: *. The first write succeeds. The second fails with a 412. No overwrites. No locks. The second user reads the latest version, merges, and retries as project-plan-v3.json. Done. You get optimistic concurrency with a single HTTP header. No external locks. No extra logic. Just safe, versioned updates built into S3. This works anywhere: - Upload APIs - ML checkpoints - ETL outputs - Config files Any system where multiple writers need to avoid stepping on each other. S3 is no longer just object storage. It's a write-once, conflict-aware coordination primitive. If you're still writing coordination code around S3, stop. The storage layer has your back now. What's the most challenging concurrency issue you've faced with S3?
Raul Junco tweet media
English
12
50
419
28.7K
Fernando
Fernando@Franc0Fernand0·
Unboxing and setting up the new mac mini
Fernando tweet media
English
8
2
79
5.6K
Jaydeep
Jaydeep@_jaydeepkarale·
My experience with real estate agents in past 2 months Me to Agent1: Yaar I'm in office, can we talk after 5 PM ? Agent1's boss calls me: Why are you not speaking to my agent, how will we I know what your office timings are 🙃 -------- Me to Agent2: The project is a bit congested, also 13 level car parking isn't practical so I won't go ahead Agent2: It is the most prime project in Wakad you will not get the brand XYZ in Wakad again. And in terms of congestion people develop 4 in 2 acres also Me to Agent2: But I won't buy any project that is congested from branded or other builders Agent2: So you are saying XYZ brand is not good 🙃
English
3
0
7
607
Petar Ivanov
Petar Ivanov@petarivanovv9·
We've crossed 20,000 readers of my newsletter The T-Shaped Dev. 🎉 I remember the day when I hit my first subscriber back in 2023. It took me some time to get here but the journey was worth it. I still have some fears before publishing each article—will it be good enough, is it worth it, etc. What helps me is to write about things I wish I knew some time ago. That’s how I break the analysis paralysis and keep writing 3-4 articles per month. I’ve learned many things along the way and met many aspiring creators and writers. I made many mistakes and have many more to do. Thank you for being a great supporter, reader, and for your help in growing to 20,000 subscribers 🙏 ❤️
Petar Ivanov tweet media
English
16
1
22
852
Petar Ivanov
Petar Ivanov@petarivanovv9·
Here is a good list of tech newsletters that give you incredible knowledge mostly for free:
English
3
2
15
3.2K
Saurabh Dashora
Saurabh Dashora@ProgressiveCod2·
@RaulJuncoV Interesting tool Rau. Thanks for sharing. Will definitely check it out.
English
1
0
1
188
Raul Junco
Raul Junco@RaulJuncoV·
Most APIs aren’t built for the real world. They look great in docs but fall apart in production. They break unexpectedly, return inconsistent responses, or slow teams down with endless debugging. I think the problem is that we focus too much on building APIs and not enough on testing, monitoring, and maintaining them. APIs aren’t just endpoints—they’re the backbone of modern applications. If they’re unreliable, so is your product. APIs are contracts. Break them, and you break trust. That’s why top teams are rethinking their API workflows. Instead of treating testing and monitoring as an afterthought, they use tools that simplify the process. - They validate responses instantly, not after things break. - They work in parallel without waiting for backend readiness. - They catch issues before users do. - They keep teams aligned with clear API documentation. @ApidogHQ will help you with that. Curious why? • You can define APIs even before coding. • You will enable frontend and backend teams to work in sync. • You will catch breaking changes before they reach production. • You will detect performance bottlenecks early. • You can get data directly from the DB for your pre-/post-processors (this is🔥) • Get your API the documentation it deserves. If you’re serious about building better APIs, give Apidog a try: bit.ly/4bpnO9I What’s the biggest API challenge your team faces? I would love to hear your thoughts! Big thanks to the Apidog team for this collaboration.
GIF
English
6
1
23
2.5K
Petar Ivanov
Petar Ivanov@petarivanovv9·
If you want to get better at System Design, Software Engineering, or Architecture, here are 11 must-read newsletters:
English
13
126
1K
131.7K
Raul Junco
Raul Junco@RaulJuncoV·
Choosing the right database is half the battle in system design. Here’s a structured path to learning databases the right way. Databases are the backbone of modern software systems. Choosing the right one can make or break your project. Here's how you should learn them. 1. Relational Databases (RDBMS) • Structured. • Tabular data. • ACID transactions. • Uses SQL. 2. NoSQL Databases • Handles unstructured or semi-structured data. • Has a flexible schema. • Scales well for big data applications. 3. Document Databases • Uses JSON-like documents. • Supports dynamic schemas. • Great for content management, e-commerce. 4. In-Memory Databases • Optimized for speed. • Used for real-time analytics & caching. 5. Time-Series Databases • Optimized for timestamped data. • Common for IoT, monitoring, and financial data. 6. Graph Databases • Stores data as nodes, edges, and properties. • Uses high-level query languages like Cypher (Neo4j) or Gremlin (Amazon Neptune). • Ideal for relationship-heavy queries (e.g., social networks, fraud detection). Picking the right database comes down to what problem you're solving. • Start with SQL (RDBMS)—it's the foundation. • Move to NoSQL when you need flexibility and scale. • Use Document DBs (MongoDB) for JSON-like data. • Redis (In-Memory) is a must for caching and speed. • Time-Series DBs (Prometheus) are great for logs and IoT. • Graph DBs (Neo4j) shine when relationships matter. There's no one-size-fits-all database solution; sometimes, you need a combination. Choosing a database goes beyond a simple yes or no; it's about learning the trade-offs.
Raul Junco tweet media
English
13
36
242
17.6K
Saurabh Dashora
Saurabh Dashora@ProgressiveCod2·
@_jaydeepkarale The same situation is happening everywhere... And the trouble is that when you go to sell those houses later on, no one is willing to buy at those prices because so many new houses are getting constructed.
English
1
0
2
163
Jaydeep
Jaydeep@_jaydeepkarale·
In 2019 I'd seen a housing project where 2BHk cost 82 lakhs. Got a call from the same project today about the last tower launch. Cost is over 1.3 cr for 2BHk 🤒
English
3
0
8
509
Saurabh Dashora
Saurabh Dashora@ProgressiveCod2·
15 articles to help you get better at System Design: [1] 4 Challenges of Distributed Systems - And Possible Solutions newsletter.systemdesigncodex.com/p/4-challenges… [2] Your Code is Fast, But Your Database is Slow—Now What? newsletter.systemdesigncodex.com/p/your-code-is… [3] 15 Must-Know Elements of System Design newsletter.systemdesigncodex.com/p/15-must-know… [4] How To Do Well in System Design Interviews? newsletter.systemdesigncodex.com/p/how-to-do-we… [5] 8 Must Know Distributed System Design Patterns newsletter.systemdesigncodex.com/p/8-must-know-… [6] 6 Strategies to Build Secure APIs newsletter.systemdesigncodex.com/p/6-strategies… [7] How HTTP 2 Improves Upon HTTP 1 newsletter.systemdesigncodex.com/p/how-http-2-i… [8] How Netflix Uses Caching to Hold Attention? newsletter.systemdesigncodex.com/p/how-netflix-… [9] 8 Must-Know Strategies to Build Scalable Systems newsletter.systemdesigncodex.com/p/8-must-know-… [10] 3 Interview Questions on Event-Driven Patterns newsletter.systemdesigncodex.com/p/3-interview-… [11] Don’t Use Sync Communication for Every Case newsletter.systemdesigncodex.com/p/dont-use-syn… [12] How Consistent Hashing Works? newsletter.systemdesigncodex.com/p/how-consiste… [13] The Journey of a SQL Query Through a Database newsletter.systemdesigncodex.com/p/the-journey-… [14] TCP 3-Way Handshake newsletter.systemdesigncodex.com/p/tcp-3-way-ha… [15] Database Sharding newsletter.systemdesigncodex.com/p/database-sha…
Saurabh Dashora tweet media
English
5
8
44
3.3K
Jaydeep
Jaydeep@_jaydeepkarale·
@ProgressiveCod2 Thanks for all the time and effort you put into this, absolute goldmine of knowledge
English
1
0
1
77
Saurabh Dashora
Saurabh Dashora@ProgressiveCod2·
@rixlabs Those who have built a non-digital-course-selling digital product don't have the time to teach how to sell a digital product...mostly...😂
English
1
0
3
86
Riccardo Causo
Riccardo Causo@rixlabs·
Help me understand The most sold digital products are courses about how to sell digital products? Every millionaire that claim to do money with digital product I’ve found online doesn’t advertise for the product he is selling. 🤷‍♂️
English
2
0
3
255
Raul Junco
Raul Junco@RaulJuncoV·
Watching YouTube tutorials vs. Interviews in real life.
Raul Junco tweet media
English
5
0
16
2K