There is so much to learn as a backend software developer that it can be difficult to know where to start. To help you I have put together this roadmap with all the topics I think you should be learning to become a senior developer. This roadmap will evolve over time so make sure you bookmark it.

Most of the nodes can be clicked on to give you more information. If you want a walkthrough of the information then check out my video.

General
General
Pick a Language
Pick a Language
Coding Principles
Coding Principles
Developing APIs
Developing APIs
RDBMS Databases
RDBMS Databases
ORMs
ORMs
Developing in Teams
Developing in Teams
Logging
Logging
Caching
Caching
Testing
Testing
CI/CD
CI/CD
Cloud
Cloud
Containerisation
Containerisation
Design Principles
Design Principles
Software Architecture
Software Architecture
Advanced APIs
Advanced APIs
Monitoring
Monitoring
DevOps
DevOps
Internet
Internet
Version Control
Version Control
Getting Help
Getting Help
Computers
Computers
Fundamentals
Fundamentals
Git
Git
Domain Names
Domain Names
DNS
DNS
Web Hosting
Web Hosting
C#
C#
JavaScript
JavaScript
TypeScript
TypeScript
ChatGPT
ChatGPT
StackOverflow
StackOverflow
Google
Google
Data Types
Data Types
Data Structures
Data Structures
Threads & Concurrency
Threads & Concurrency
Memory Management
Memory Management
I/O
I/O
grep
grep
cat
cat
tail
tail
curl
curl
ssh
ssh
Linux Commands
Linux Commands
SOLID
SOLID
DRY
DRY
KISS
KISS
YAGNI
YAGNI
Authentication & Authorisation
Authentication & Aut...
Basic Auth
Basic Auth
JWT
JWT
OAuth
OAuth
Validation
Validation
Dependency Injection
Dependency Injection
REST
REST
HATEOAS
HATEOAS
Swagger
Swagger
Open API
Open API
Database Design
Database Design
Indexes
Indexes
SQL Syntax
SQL Syntax
Stored Procedures
Stored Procedures
Functions
Functions
Transactions / ACID
Transactions / ACID
Postgres / SQL Server / MySQL
Postgres / SQL Serve...
Entity Framework
Entity Framework
TypeORM
TypeORM
Sequelize
Sequelize
Agile Methodologies
Agile Methodologies
Code Reviews
Code Reviews
NoSQL Databases
NoSQL Databases
Azure CosmosDB
Azure CosmosDB
Redis
Redis
Elasticsearch
Elasticsearch
Serilog
Serilog
Winston
Winston
In Memory Caching
In Memory Caching
Distributed Caching
Distributed Caching
Unit Testing
Unit Testing
Integration Testing
Integration Testing
E2E Testing
E2E Testing
Performance Testing
Performance Testing
K6
K6
GitHub Actions
GitHub Actions
Self Hosted Runners
Self Hosted Runners
GitLab CI
GitLab CI
TeamCity
TeamCity
Octopus Deploy
Octopus Deploy
Jenkins
Jenkins
Azure
Azure
Azure Functions
Azure Functions
Azure Storage
Azure Storage
Azure Service Bus
Azure Service Bus
AWS
AWS
AWS Lambda
AWS Lambda
AWS S3
AWS S3
AWS SQS/SNS
AWS SQS/SNS
Docker
Docker
Kubernetes
Kubernetes
AWS ECS
AWS ECS
Azure Container Instances
Azure Container Instanc...
GOF Patterns
GOF Patterns
Domain Driven Design
Domain Driven Design
CQRS
CQRS
Event Sourcing
Event Sourcing
Monoliths
Monoliths
Microservices
Microservices
Serverless
Serverless
GraphQL
GraphQL
WebSockets
WebSockets
SignalR
SignalR
Grafana
Grafana
ELK Stack
ELK Stack
Elasticsearch
Elasticsearch
Logstash
Logstash
Kibana
Kibana
DataDog
DataDog
OpenTelementry
OpenTelementry
AWS Security
AWS Security
Azure Security
Azure Security
IAC
IAC
Terraform
Terraform
Pulumi
Pulumi
Orchestration
Orchestration
Spacelift
Spacelift
Terraform Cloud
Terraform Cloud
Scrum & Kanban
Scrum & Kanban
Routing
Routing
CORS
CORS
API Documentation
API Documentation
Normalization
Normalization
Dapper
Dapper
AWS DynamoDB
AWS DynamoDB
AWS EC2
AWS EC2
gRPC
gRPC
Real-time
Real-time
Prometheus
Prometheus
Text is not SVG - cannot display

🙏 Was this helpful? If you want to say thanks, I love coffee ☕️ , any support is appreciated.