Skip to content
Naveen Raj

Guide

Intermediate

System Design Fundamentals

A from-first-principles guide to system design — requirements and estimation, scaling, the data layer, and the distributed-systems building blocks that show up in almost every real architecture.

4 chapters · 12 sections · 23 min read · Updated Sep 12, 2026

Start reading

What you'll learn

  • How to turn an ambiguous prompt into concrete functional and non-functional requirements
  • How to do back-of-the-envelope estimation before committing to an architecture
  • When to scale vertically versus horizontally, and how load balancing actually works
  • How to choose between SQL and NoSQL, and how replication and sharding scale a database
  • The CAP theorem and what it really constrains during a network partition
  • The distributed-systems building blocks — queues, CDNs, circuit breakers — behind most real architectures