System Design
44 courses 2 categories
System design is the discipline of putting services, data stores, queues, caches, and clients together so that the resulting system meets its functional requirements at the load and latency it actually has to handle. The topic covers both the backend side (sharding, replication, consistency, distributed transactions, queue-based decoupling) and the frontend side (client-side caching, rendering strategies, CDN architecture, asset delivery) — two distinct skill trees that share vocabulary but solve different problems.
The 2026 reality is that most production systems are converging on a small set of patterns. CDN in front, an API gateway or load balancer, stateless application servers, a primary relational database with read replicas, Redis for cache and ephemeral state, an object store for blobs, a queue (SQS, Kafka, RabbitMQ) for async work, and observability with OpenTelemetry feeding into Grafana or Datadog. The interesting decisions are no longer "Postgres or Mongo" but "where exactly does the read split happen," "what is idempotent vs not," and "how does this system behave when a region goes dark."
What you'll find under this topic
- Scaling patterns: horizontal vs vertical, sharding, read replicas, write-through cache
- Distributed systems fundamentals: CAP, consensus, leader election, quorum reads
- Caching strategies: cache-aside, write-through, write-behind, invalidation problems
- Async architecture: queues, event streams, outbox pattern, sagas
- Frontend system design: render strategies, asset pipelines, edge compute, CDN tiers
- Reliability: retries, circuit breakers, timeouts, bulkheads, graceful degradation
- Capacity planning: back-of-envelope estimation, load tests, headroom budgeting
System design shows up twice in most senior engineers' careers: in the interview loop (where it is one of the highest-signal rounds at any FAANG-tier company) and on the job, every time a feature outgrows its original architecture. The patterns transfer across employers because the physics underneath — network latency, disk seeks, queue saturation — do not change.
Categories (2)
Courses (44)
Showing 1 – 30 of 44 courses
Updated 1mo agoThe original course on system design from Educative by DesignGurus. Real cases, frameworks, and videos will help prepare for interviews at FAANG and other compa15h 19m
Updated 2mo agoDiscover the world of distributed systems - a dynamic field where the evolution of multiple computers has transformed both quantity and distribution.19h 12m
Updated 3mo agoLearn the fundamentals of software and web application architecture design. The course is suitable for beginners and helps you become a full-stack developer.
Updated 3mo agoPractical study of designing common web services like Netflix and Facebook. Suitable for developers, architects, and managers.
Updated 4mo agoIn this lesson, you will explore in detail how Module Federation helps create a microservices architecture for the frontend .1h 20m
Updated 7mo agoThe course is dedicated to Low-Level Design (LLD) - a key stage in software development where abstract ideas and architectural decisions are transformed into.22h 34m
Updated 7mo agoUnlock the power of microservices with our comprehensive masterclass. While microservices offer an approach to building scalable software.3h 25m5/5
Updated 8mo agoThis is a practical training where you will learn full-stack development of SaaS applications based on Cloudflare Workers step by step.11h 27m5/5
Updated 8mo agoWe are entering an era in software engineering where we rely on libraries and frameworks to do most of our work. While this is useful and save tremendous dev ho18h 6m5/5
Updated 9mo ago"System Design for Beginners" is a course for beginners in a convenient self-paced format.12h 2m5/5
Updated 10mo agoBecome the Alpha frontend engineer by designing 30+ distinct web applications and all the fundamentals. Learn the advanced concepts, strategies, techniques, and5/5
Updated 1y agoPractical Object-Oriented Design I (POOD-I) is a comprehensive course suitable for both beginners and experienced developers interested in honing their.11h 49m
Updated 1y agoA series of group coaching sessions, guidance from a coach, answers to questions, and support throughout the course "Academy of UI Architecture."20h 50m
Updated 1y agoWelcome to the "Academy of UI Architecture" , a comprehensive 12-module program designed to empower you with the skills to develop, test.21h 37m5/5
Updated 1y agoThe Advanced Software Design Course is a program with 6 main modules aimed at improving software design skills.11h 23m
Updated 1y agoThe Production-Ready Serverless course teaches how to build resilient and scalable serverless applications, ready for production deployment. It.13h 37m5/5
Updated 1y agoThis course provides a detailed examination of using the dotenv module for managing environment variables in JavaScript.1h 53m
Updated 1y agoIn this practical course, you will learn how to architect real-life systems, that scale to millions of daily users, as well as process and store petabytes of da6h 57m
Updated 2y agoThis comprehensive course covers a wide range of software architecture topics, including component-oriented patterns, Single Page Application.4h 21m
Updated 2y agoWeb Components are a set of features that provide a standard component model for the Web[1] allowing for encapsulation and interoperability of individual HTML e3h 1m
Updated 2y agoAnyone can write code a computer can understand, but professional developers write code *humans* can understand. Clean code is a reader-focused development styl3h 10m
Updated 2y agoMicrosoft Orleans, the Virtual Actor Framework developed by Microsoft Research is ideal for building distributed high scale systems with C#.1h 45m
Updated 2y agoThere are a lot of misconceptions around the CQRS pattern, especially when it comes to applying it in real-world software projects. In this course, CQRS in Prac4h 22m
Updated 2y agoBecoming a Software Architect is the holy grail for almost all developers. Great salary, working with management, dealing with the up-to-date technologies and p5h 44m
Updated 2y agoIn this course, we’re going to learn how to Design Microservices Architecture with using Design Patterns, Principles and the Best Practices with Iterate Design17h 26m
FreeUpdated 2y agoUdi Dahan is one of the world’s foremost experts on Service-Oriented Architecture, Distributed Systems and Domain-Driven Design. He's also the creator of NServi32h 22m5/5
FreeClassicA masterclass that helps you become great at designing scalable, fault-tolerant, and highly available systems. This is a prime and intermediate-level cohort-bas43h 13m4/5
Updated 2y ago"The Software Designer Mindset" is a course that teaches all aspects of software architecture and offers practical advice on creating scalable software.14h 32m
Updated 2y agoThe The Software Architect Mindset course teaches the fundamentals of software architecture and provides practical advice on creating software products that.12h 6m5/5
Updated 2y agoProgramming languages are often classified based on their syntax, features, and execution models. This course introduces you to the idea of programming paradigm4h 36m5/5
Related topics
Frequently asked questions
- How important is system design for senior roles?
- Decisive. Almost every senior, staff, and principal interview loop includes one or two system-design rounds, and the bar rises steeply with level. Strong algorithmic skill is necessary but not sufficient; what differentiates senior offers is the ability to scope ambiguous problems, propose architectures, and discuss tradeoffs without hand-waving. Worth treating as a core skill, not an interview-only one.
- How do I learn system design without senior production experience?
- Read 'Designing Data-Intensive Applications', a handful of system-design-focused books and video courses, and especially real engineering blogs (Discord, Figma, Stripe, GitHub, Cloudflare, Notion). Build smaller systems end-to-end so the tradeoffs feel concrete rather than theoretical. Mock interviews with peers are essential — the gap between knowing and articulating is large.
- What topics come up most in system-design interviews?
- Load balancing, caching strategies, database scaling (read replicas, sharding, partitioning), CAP and consistency tradeoffs, message queues, rate limiting, geo-distribution, observability, the design of common products (news feed, chat, URL shortener, geo search, rate limiter, payment ledger). Senior loops also test schema design, capacity estimation, and incident handling.
- Do I need to memorise specific numbers (latency, QPS)?
- Useful to know the order of magnitude — disk vs RAM vs network, single-node QPS for common systems, rough latency for cache hits versus database calls. Interviewers don't expect exact figures, but they do expect you to estimate capacity and bandwidth at the right scale. Jeff Dean's classic 'latency numbers' list is worth internalising.
- System design vs distributed systems theory — what's the difference?
- System design is the applied interview-and-practice skill of architecting real products. Distributed systems theory is the academic underpinning — consensus protocols, formal consistency models, failure detectors. Theory makes you sharper at design and is required for some specialist roles, but most senior interviews focus firmly on the applied tier.