System Design: Best Resources

Hey folks, I know most of us are from college and focus on competitive programming.

But there is another world out there, which becomes very relevant when you start with a job.
And that world is of software engineering + system design.

If you are doing an internship or a job, I would highly recommend that you start now.

Below are the best resources for System Design on the Internet. I have curated them over the last 5 years, and my YouTube videos use them as sources.


  1. Video Processing
  2. Cluster and Workflow Management
  3. Intra-Service Messaging
  4. Message Queue Antipattern
  5. Service Mesh
  6. Practical System Design
  7. Distributed File System
  8. Time Series Databases
  9. Rate Limiting
  10. In Memory Database - Redis
  11. Network Protocols
  12. Chess Engine Design
  13. Subscription Management System
  14. Google Docs
  15. API Design
  16. NoSQL Database Internals
  17. NoSQL Database Algorithms
  18. Database Replication
  19. Containers and Docker
  20. Capacity Estimation
  21. Publisher Subscriber
  22. Event Driven Architectures
  23. Hexagonal Architectures
  24. Microservices
  25. Load Balancing
  26. Alerts and Anomaly Detection
  27. Distributed Logging
  28. Metrics and Text Search Engine
  29. Single Point of Failure
  30. Location Based Services
  31. Batch Processing
  32. Real Time Stream Processing
  33. Caching
  34. Distributed concensus
  35. Authorization

Each topic has resource links to blogs and videos related to it.

GitHub Link: System Design Resources

All the best!