๐๏ธSoftware Architecture
System architecture comprises the decisions that are expensive to reverse. This volume explores decoupled message streaming, bounded contexts, and circuit breakers.
Foundational Invariants & Core Principles:
Stage 1: Microservices
Sequential learning progression covering core mechanics of microservices.
Modular Monolith Design
Modular Monolith Design is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Microservices Decomposition
Microservices Decomposition is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Strangler Fig Migration
Strangler Fig Migration is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Hexagonal Architecture
Hexagonal Architecture is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Onion Architecture
Onion Architecture is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Stage 2: Event-Driven Architecture
Sequential learning progression covering core mechanics of event-driven architecture.
DDD Strategic Context Mapping
DDD Strategic Context Mapping is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
DDD Tactical Patterns
DDD Tactical Patterns is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Event-Driven Architecture & Message Streaming
Event-driven architecture replaces synchronous REST HTTP calls with asynchronous event publishing (Kafka/RabbitMQ), ensuring high throughput and fault isolation.
CQRS & Event Sourcing
CQRS splits command (write) and query (read) paths; event sourcing stores state transitions as immutable events that can rebuild projections.
Serverless & FaaS Design
Serverless & FaaS Design is a foundational topic in System Architecture & Design. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Stage 3: CQRS & Event Sourcing
Sequential learning progression covering core mechanics of cqrs & event sourcing.
High-Level System Design Architectures: Chat, Streaming & Distributed Platforms
High-Level System Design Architectures: Chat, Streaming & Distributed Platforms provides core foundational patterns in Software Design & Architecture. Architect distributed systems for Chat, News Feed, Video Streaming, Ticketmaster, Proximity, and Payment Platforms under peak load.
Low-Level System Design: LRU Cache, Elevator & Ticket Booking
Low-Level System Design: LRU Cache, Elevator & Ticket Booking provides core foundational patterns in Software Design & Architecture. Design object-oriented class hierarchies, concurrency synchronization, and clean interfaces for real-world interview LLDs.
SOLID Principles, Clean Architecture & KISS
SOLID Principles, Clean Architecture & KISS provides core foundational patterns in Software Design & Architecture. Build maintainable software using Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.
Dependency Injection
Dependency Injection is a foundational topic in Programming Languages & Runtime. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Error Handling with Result Types
Error Handling with Result Types is a foundational topic in Programming Languages & Runtime. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Stage 4: API Gateways
Sequential learning progression covering core mechanics of api gateways.
GraphQL Federation
GraphQL Federation is a foundational topic in Networking & Protocols. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
REST Resource Modeling
REST Resource Modeling is a foundational topic in Networking & Protocols. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
gRPC & Streaming RPC
gRPC & Streaming RPC is a foundational topic in Networking & Protocols. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
WebSocket Real-Time Scaling
WebSocket Real-Time Scaling is a foundational topic in Networking & Protocols. Engineers use it to make predictable trade-offs under load, failure, and evolving requirements.
Explore Other Domain Curriculums
Distributed Systems
High-availability replication, event loops, quorum consensus, and horizontal database sharding.
Design Patterns
GoF structural/behavioral patterns, circuit breakers, sagas, and transactional outbox patterns.
Software Engineering
Clean code craft, automated testing pyramids, CI/CD pipelines, refactoring, and technical debt.
Algorithms & Data Structures
B-Trees vs LSM-Trees, graph traversal, consistent hashing rings, and asymptotic time-space trade-offs.
