We now have a YouTube Channel. 

Design and Architecture Topics

Step by step guide to learn software design and architecture

Software Design Architecture Clean Code Principles Be Consistent Meaningful Names Indentation and Code Style Keep it Small Pure Functions Minimize Cyclomatic Complexity Avoid Passing Nulls Booleans Keep Framework Code Distant Use Correct Constructs Keep Tests Independent Use Meaningful Names Code by Actor Command Query Separation Avoid Hasty Abstractions Programming Paradigms Structured Programming Functional Programming Object Oriented Programming Object Oriented Programming Primary Principles Inheritance Polymorphism Abstraction Encapsulation Paradigm Features Abstract Classes Concrete Classes Scope Visibility Interfaces Model Driven Design Domain Models Anemic Models Layered Architectures Domain Language Class Invariants Software Design Principles Composition over Inheritance Encapsulate What Varies Program Against Abstractions Hollywood Principle SOLID DRY YAGNI Design Patterns GoF Design Patterns POSA Patterns Architectural Principles Component Principles Policy vs Detail Coupling and Cohesion Boundaries Architectural Styles Messaging Publish Subscribe Event Driven Distributed Client Server Peer to Peer Structural Component Based Monolithic Layered Architectural Patterns CQRS SOA Domain Driven Design Model View Controller Microservices Blackboard Pattern Microkernel Serverless Architecture Message Queues Streams Event Sourcing Enterprise Patterns DTOs Identity Maps Use Cases Repositories Mappers Transaction Script Commands Queries Value Objects Domain Models Entities Orms

Open Source

The project is OpenSource, 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

Roadmaps Guides Videos About YouTube

roadmap.sh by Kamran Ahmed

Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.

© roadmap.sh · FAQs · Terms · Privacy


The leading DevOps resource for Kubernetes, cloud-native computing, and the latest in at-scale development, deployment, and management.