Clean Code
Programming Paradigms
Object Oriented Programming
Design Principles
Design Patterns
Enterprise Patterns
Architectural Principles
Architectural Styles
Architectural Patterns
Minimap of Topics
Software Design & Architecture
Visit Backend Developer Roadmap
Clean Code Principles
Programming Paradigms
Be Consistent Meaningful names over Comments
Indentation and Code Style Keep methods, classes, files small
Pure functions Minimize cyclomatic complexity
Avoid passing nulls, booleans Keep framework code distant
Use correct constructs Tests should be fast and independent
Use meaningful names Organize code by the actor it belongs to
Command Query Separation Keep it simple and refactor often
Find the detailed version of this roadmap along with
resources, progress tracking and other resources.
roadmap.shhttps:
//
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
Design Principles Composition over Inheritance
Encapsulate what varies
Program against abstarctions
Hollywood principle
SOLID DRY YAGNI
Design Patterns
GoF Design Patterns
PoSA Patterns
Architectural Principles
Policy vs Detail
Component Principles
Coupling and Cohesion
Boundaries
Architectural Styles
Structural
Messaging
Distributed
Event-Driven
Publish-Subscribe
Client-Server
Peer-to-Peer
Component-Based
Monolithic
Layered
Architectural Patterns
Model-View Controller
Domain-Driven Design
Microservices
Blackboard Pattern
Microkernel
Serverless Architecture
CQRS
Event Sourcing
Message Queues / Streams
SOA
Enterprise Patterns
DTOs
Identity Maps
Use Cases
Repositories
Mappers
Transaction Script
Commands / Queries
Value Objects
Domain Models
Entities
ORMs
Visit Backend Developer Roadmap
Note on Listed Topics
The roadmap is not an exhaustive list of
topics. It’s just some of the most important
Topics under each category.
References
Khalil’s Software Design & Architecture Map
!"