Backend
Engineering


Backend Frameworks

Databases

NoSQL

SQL

Postgres

MySQL

MongoDB

Oracle

Db2

SQLite

SQL Server

DynamoDB

Neo4j

DocumentDB

Elasticsearch

Redis

CouchDB

MariaDB

BigTable

JavaScript

Python

Flask

PHP

Ruby

Java

C#

NestJS

Elixir

Rust

FastAPI

Fastify

Nuxt.js

IndexedDB

CMS

Headless

Wordpress

Joomla

Drupal

Strapi

SSGs (often paired with headless CMS)

Jekyll

Astro

Docusaurus

Gatsby

Hugo

CodeIgniter

Express.js

Django

Axum

Ruby on Rails

Laravel

ASP.NET Core

Phoenix

Spring Boot

Sanity

Contentful

Prismic

Headless Wordpress

Actix

Kotlin

Spring Boot

Go

Gin

Echo

Ktor

Swift

Vapor

Umbraco (C#)

11ty

SurrealDB

Hosting

Shared / VPS / Dedicated

PaaS

Redshift

Snowflake

IaaS

Vercel

Firebase (Supabase as alternative utilizing Postgres)

Cassandra

HBase

Memcached

DreamHost

Bluehost

GoDaddy

SiteGround

HostGator

Hostinger

Hostwinds

A2 Hosting

InterServer

Netlify

AWS Elastic Beanstalk

Salesforce Heroku

Google App Engine

Azure App Service

Amazon Web Services (AWS)

Microsoft Azure

Google Cloud Platform (GCP)

Akamai (Linode)

Oracle Cloud Infrastructure (OCI)

IBM Cloud

DigitalOcean App Platform

DigitalOcean

Alibaba Cloud

Oracle Cloud Platform

ORMs and Database Libraries

Prisma

Entity Framework

SQLAlchemy

SQLx

etc...

Communication

APIs / comms

REST

gRPC

GraphQL

Notations

SOAP

JSON-RPC

JSON

XML

CSV

Protobuf

TOML

WebSockets

Webhooks

YAML

Markdown

Server Side Events

Protocols

TCP

UDP

HTTP + HTTPS

FTP + FTPS + SFTP

IPv4 + IPv6

SSH

email

SMTP

IMAP

POP3

methods: GET, POST, PUT, DELETE, PATCH

Clients + Servers

Browsers (client)

Gecko (SpiderMonkey)

Webkit (JavaScriptCore)

messaging

AMQP

MQTT

STOMP

WebRTC

Blink (V8)

Chrome

Edge

Opera

Brave

Firefox

Safari

Servers

IIS

NGINX

Apache

Caddy

CDNs

Cloudflare

Cloudfront

Azure CDN

GCP CDN

Akamai

Alibaba CDN

App Dev Lifecycle

Local Dev

Source Control

Containerization

OS

Editor

Git

Subversion

Hosting

GitHub

BitBucket

GitLab

Docker

Orchestration

Kubernetes (K8s)

Docker Swarm

CI/CD

Image Hosting

DockerHub

GitHub Actions

GitLab CI/CD

Jenkins

CircleCI

CodePipeline

Azure DevOps

GCP DevOps

Testing

Testing Framework (pytest for example)

Selenium

Cypress

Playwright

issues / tasks

Trello

Jira

Asana

GitHub Issues

GitLab Issues

Linux / Unix

Mac

Windows

Text Editor

IDE

Terminal

Vim, Neovim, Nano

VS Code

PyCharm, Visual Studio, etc

Postman

Monitoring

CloudWatch

Prometheus

Datadog

New Relic

Notifications

PagerDuty

Opsgenie

Grafana

Swagger

ECR

ACR

Google Artifact Registry

GitHub Container Registry

Harbor

GitLab Container Registry

Docker Compose

Nomad

Enterprise Extensions

OpenShift

Rancher

Tanzu

GKE

AKS

EKS

LKE

IBM Kubernetes Service

DigitalOcean Kubernetes

EKS Anywhere

Cloud Services (AWS, GCP, Azure)

Monitoring

Managed DBs

Storage

Compute

Serverless functions

Identity

DNS

Virtual Cloud

CDN

CICD

AWS CloudWatch

AWS EC2

GCP Compute Engine

Azure VMs

AWS Lambda

GCP Cloud Functions

Azure Functions

GCP Cloud Monitoring

Azure Monitor

AWS RDS

GCP Cloud SQL

Azure Database

AWS S3

GCP Cloud Storage

Azure Blob Storage

AWS IAM

GCP IAM

Azure AD

Certificate Management

AWS Route 53

GCP Cloud DNS

Azure DNS

AWS VPC

GCP VPC

Azure VNet

AWS CloudFront

GCP Cloud CDN

Azure CDN

AWS CodePipeline

GCP Cloud Build / Deploy

Azure DevOps Pipelines

AWS Certificate Manager (ACM)

GCP Certificate Manager

Azure Key Vault Certificates

Containers

AWS ECR

GCP Artifact Registry

Azure Container Registry

Serverless Compute

Kubernetes

Google Kubernetes Engine (GKE)

Azure Kubernetes Service (AKS)

IaC

Learning Roadmap

Django ORM

OS

Editor

Source Control

Backend Language

Backend Framework

Database

Library / ORM

Django ORM

Django

Postgres

Frontend?

Communication

Notations

REST

Git (terminal)

GitHub

Protocols

Testing

Cloud Providers

Containerizing?

AWS EKS

AWS Fargate

Google Cloud Run

Azure Container Instances

CI/CD?

Hosting

CDN

Monitoring

Docker Compose

Postman

Swagger

CodePipeline

HTTPS

SSH

React

Yourr primary OS

Linux

PagerDuty

VS Code

Fargate

Python

S3

Notion

Issues

GitHub

Cloudflare

CloudWatch

WebSockets

Webhooks

Elastic Beanstalk

JSON

Markdown

Raw SQL

ECR

Docker

AWS

Need More?

Languages

1 or 2 "lower level" languages

JavaScript + TypeScript

NoSQL

Redis

MongoDB

Firebase

Containerization

Kubernetes

Comms

Protobufs + gRPC

Fullstack

Next.js

State management

GraphQL

React Query OR RTK Query

Message Broker

RabbitMQ

Rust

Go

EKS

The secret here is to not learn everything but rather learn a technology from each category. This will give you experience in the end-to-end while also giving you something to compare every other technology against.

Worth mentioning webAssembly

AWS CloudFormation

GCP Deployment Manager

Azure Resource Manager

Next.js

Load balancing

AWS Elastic Load Balancing

Google Cloud Load Balancing

Azure Load Balancer

Didn't want to branch further but can split NoSQL in to four categories:
key-value, graph, column, document.

DNS

ECS