Software Architecture & Design

Learn to design scalable, maintainable, and resilient software systems. Covers design patterns, microservices, system design interviews, and architectural trade-offs.

10 subcategories · 481 courses total

API Design & Management
Learn to design, secure, and manage robust APIs that are easy for developers to consume. Covers REST, GraphQL, gRPC, and best practices for versioning and documentation.
100 courses
Architectural Modeling & Documentation
Learn to effectively communicate software architecture to different stakeholders. Master modeling techniques like UML and the C4 Model to create clear architectural diagrams.
59 courses
Event-Driven Architecture (EDA)
Build highly responsive and decoupled systems using an event-driven approach. Learn about message brokers, event sourcing, CQRS, and how to design asynchronous workflows.
46 courses
Microservices Architecture
Design and build applications as a collection of loosely coupled, independently deployable services. Learn about service communication, data management, and deployment strategies for microservices.
42 courses
Domain-Driven Design (DDD)
Model complex software systems by focusing on the core business domain. Master concepts like Bounded Contexts, Aggregates, and Ubiquitous Language.
42 courses
Cloud-Native Architecture
Design applications to fully leverage cloud platforms like AWS, Azure, and GCP. Explore serverless, containers, and managed services to build scalable and resilient systems.
41 courses
Secure Software Architecture
Integrate security into the earliest stages of the software design process. Learn about threat modeling, secure design principles, and architectural patterns for building robust applications.
40 courses
Scalability & Resilience Patterns
Design systems that can handle growing loads and gracefully recover from failures. Learn patterns like load balancing, caching, circuit breakers, and database sharding.
38 courses
Software Design Patterns
Learn foundational, reusable solutions to commonly occurring problems in software design. Covers creational, structural, and behavioral patterns.
37 courses
System Design Interviews
Master the process of designing large-scale systems for technical interviews. Learn common patterns and frameworks to tackle complex system design questions confidently.
36 courses