System Design
47 courses2 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(47)
Showing 1–30 of 47 courses
Updated 3mo agoStudy the universal principles of system design for AI applications and platforms. Apply the knowledge to develop complex digital systems and manage them.4h 22m
Updated 4mo agoLearn to design scalable frontend systems. Understand architectural trade-offs and key patterns for professional developers.5h 55m5/5
UpdatedDmitriy Zhiganov's course builds the judgment to pick and defend frontend tools, helping mid-level developers grow into senior roles.5h 38m
Updated 5mo 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 6mo agoDiscover the world of distributed systems - a dynamic field where the evolution of multiple computers has transformed both quantity and distribution.19h 12m
UpdatedA beginner-friendly look at web application and software architecture, covering client-server, microservices, scalability, and fault tolerance.
Updated 7mo agoPractical study of designing common web services like Netflix and Facebook. Suitable for developers, architects, and managers.
Updated 8mo agoIn this lesson, you will explore in detail how Module Federation helps create a microservices architecture for the frontend .1h 20m
Updated 11mo agoLow-Level Design (LLD) course by takeUforward (Striver): turn architecture into detailed classes, structures and algorithms. Java-based, fits any OOP language.22h 34m
Updated 11mo agoUnlock the power of microservices with our comprehensive masterclass. While microservices offer an approach to building scalable software.3h 25m5/5
Updated 1y 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
Updated61-lesson networking fundamentals for backend engineers: TCP/IP internals, protocol selection, and real performance optimization.18h 6m5/5
Classic"System Design for Beginners" is a course for beginners in a convenient self-paced format.12h 2m5/5
Updated 1y agoBecome the Alpha frontend engineer by designing 30+ distinct web applications and all the fundamentals. Learn the advanced concepts, strategies, techniques, and5/5
UpdatedLearn practical object-oriented design through hands-on coding, refactoring, and testing exercises taught by Sandi Metz.11h 49m5/5
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 50m5/5
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
UpdatedSix-module course on advanced software design: hidden logic, state modeling, information hiding, refactoring, and code longevity.11h 23m
UpdatedA 4-week, AWS-focused course on building reliable, secure, and cost-optimized serverless applications for production use.13h 37m5/5
Updated 2y agoThis course provides a detailed examination of using the dotenv module for managing environment variables in JavaScript.1h 53m
Updated 2y 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
UpdatedA beginner's introduction to Web Components: build reusable, self-contained HTML elements using native browser standards.3h 1m
UpdatedA focused course on writing code for the humans who'll read it later, not just the compiler: clarity, readability, maintainability.3h 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
Updated113-lesson guide to becoming a Software Architect: process, tech stack decisions, design patterns, soft skills, and a real document.5h 44m
Updated302-lesson journey from a monolith to event-driven and serverless microservices, covering decomposition, communication and data.17h 26m
FreeUpdatedFree 97-lesson distributed systems course by NServiceBus creator Udi Dahan: messaging, service decomposition, and production monitoring.32h 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
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.