

The Course
This is a beginner-friendly self-paced course on system design aimed at providing an exclusive and crisp introduction to building systems. The program will cover most of the topics under System Design and Software Architecture from scratch assuming no prior knowledge.
Program pre-requisites
The course operates at a beginner-level and hence does not assume any prior knowledge of system design. We would start with absolute basics and then scale up to build real-world systems in a very structured way. By the way, following are the pre-requisite for this course
- a basic understanding of CS fundamentals
- a Google account because I only support Sign-in with Google 🙂
Why should you join?
The primary objective of this program is to make you comfortable at building systems that are scalable, fault-tolerant, and reliable. But here is what you could reap out of it.

Course curriculum
Introduction
Introduction to System Design
- What is system design?9 mins
- How to approach System Design?17 mins
- How to understand that you have built a good system?9 mins
Databases
All Things Databases
- Relational databases20 mins
- Database Isolation Levels19 mins
- Scaling Databases18 mins
- Sharding and Partitioning16 mins
- Non-relational Databases15 mins
- Picking the right database13 mins
Caching
All Things Caching
- Understanding Caching12 mins
- Populating and Scaling Caches11 mins
- Caching at different levels of architecture19 mins
Asynchronous Systems
Asynchronous Processing
- Message Queues16 mins
- Message Streams and Kafka Essentials23 mins
- Real-time PubSub6 mins
Resiliency
Designing for Resiliency
- Load Balancers16 mins
- Circuit Breakers13 mins
- Data Redundancy and Recovery9 mins
- Leader Election for auto-recovery8 mins
Essentials
Essentials at Scale
- Bloom Filters21 mins
- Consistent Hashing27 mins
- Client-server and Communication Protocols22 mins
- Blob Storage and S316 mins
- Introduction to Big Data17 mins
Consumer Facing
Designing Consumer Systems
- Designing e-Commerce Product Listing20 mins
- Designing Tinder Feed32 mins
- Designing and Scaling Notifications38 mins
- Designing Twitter Trends30 mins
Common Utilities
Designing Utilities
- Designing URL Shortners48 mins
- Designing API Rate Limiter26 mins
- Designing Realtime Abuse Masker22 mins
- Designing Web Crawler54 mins
Critical Systems
Designing systems that matter
- Designing GitHub Gists28 mins
- Desinging Fraud Detection25 mins
- Designing Recommendation Engine

Reviews
There are no reviews yet.