Back to roadmaps

Backend Engineering

Build reliable, secure, scalable server side systems and APIs. Duration sixteen weeks. Target outcome: design and ship production grade APIs with databases, auth, caching, queues, testing, and deployment.

00 of 59 topics

Overview

This track turns you into a strong backend engineer. It assumes you can program in one language. You learn API design, databases, authentication, performance, asynchronous work, testing, and operations. Build and deploy a real service that grows in capability each month. Python with FastAPI is the primary path, with Node and Go noted as alternatives that share the same concepts.

Month 1: APIs and data

Week 1: Web and HTTP foundations

0 of 5
Tools and libraries
  • FastAPI: the primary framework
  • httpx: an async client for testing
Build
  • A REST API for a simple domain with proper status codes and pagination

Week 2: Databases and SQL

0 of 5
Tools and libraries
  • PostgreSQL: the database
  • SQLAlchemy and Alembic: ORM and migrations
Build
  • Back your API with PostgreSQL, with migrations and indexed queries

Week 3: Validation, errors, and configuration

0 of 5
Tools and libraries
  • pydantic: validation and settings
  • loguru or structlog: logging
Build
  • Add validation, a consistent error format, and structured logging to your API

Week 4: Authentication and authorization

0 of 5
Tools and libraries
  • a JWT library, passlib for hashing
Build
  • Add sign in, JWT auth, and role based access to your API

Month 2: Performance and asynchronous systems

Week 5: Caching

0 of 4
Tools and libraries
  • Redis: cache and key value store
Build
  • Cache expensive endpoints with Redis and measure the improvement

Week 6: Asynchronous Python and concurrency

0 of 4
Tools and libraries
  • asyncio, asyncpg
Build
  • Convert hot paths to async and add a streaming endpoint

Week 7: Background jobs and queues

0 of 4
Tools and libraries
  • Celery or RQ with Redis, or a message broker
Build
  • Move a slow operation into a background worker with retries

Week 8: Messaging and event driven basics

0 of 4
Tools and libraries
  • Kafka or RabbitMQ or Redis Streams
Build
  • Emit domain events and consume them in a separate service

Month 3: Quality and architecture

Week 9: Testing

0 of 5
Tools and libraries
  • pytest, pytest asyncio, testcontainers
Build
  • A test suite covering unit and integration paths with a real test database

Week 10: API styles beyond REST

0 of 4
Tools and libraries
  • Strawberry or Ariadne for GraphQL, grpcio
Build
  • Add a real time WebSocket feature and one GraphQL endpoint

Week 11: Architecture and scaling

0 of 5
Tools and libraries
  • a rate limiter, a circuit breaker pattern
Build
  • Add rate limiting and a circuit breaker to an external dependency

Week 12: Observability and security hardening

0 of 5
Tools and libraries
  • OpenTelemetry, Prometheus, Trivy
Build
  • Instrument your service and run a security scan, fixing what it finds

Month 4: Delivery and capstone

Week 13: Containers and deployment

0 of 4
Build
  • Containerize and deploy your service with a pipeline

Week 14 to 16: Capstone

Build
  • A production grade backend: a well designed API, PostgreSQL with migrations, JWT auth and roles, Redis caching, a background worker, events, a full test suite, observability, a security pass, and an automated deploy

Resource master reference

Books

Designing Data Intensive Applications by Martin Kleppmann

Web Scalability for Startup Engineers by Artur Ejsmont

The official FastAPI documentation

Repositories

awesome backend and awesome scalability lists

full stack FastAPI templates

Tools master list

FastAPI, PostgreSQL, SQLAlchemy, Alembic, pydantic, Redis, Celery, Kafka, RabbitMQ, pytest, testcontainers, Strawberry, grpcio, OpenTelemetry, Prometheus, Docker, Trivy

Interview focus

Design a REST API for a given domain

How do indexes work and when do they not help

Explain caching strategies and invalidation

How do you move work off the request path safely

Walk through securing an API against the OWASP top ten

Explain how you would scale reads and then writes