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.
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- FastAPI: the primary framework
- httpx: an async client for testing
- A REST API for a simple domain with proper status codes and pagination
Week 2: Databases and SQL
0 of 5- PostgreSQL: the database
- SQLAlchemy and Alembic: ORM and migrations
- Back your API with PostgreSQL, with migrations and indexed queries
Week 3: Validation, errors, and configuration
0 of 5- pydantic: validation and settings
- loguru or structlog: logging
- Add validation, a consistent error format, and structured logging to your API
Week 4: Authentication and authorization
0 of 5- a JWT library, passlib for hashing
- Add sign in, JWT auth, and role based access to your API
Month 2: Performance and asynchronous systems
Week 5: Caching
0 of 4- Redis: cache and key value store
- Cache expensive endpoints with Redis and measure the improvement
Week 6: Asynchronous Python and concurrency
0 of 4- asyncio, asyncpg
- Convert hot paths to async and add a streaming endpoint
Week 7: Background jobs and queues
0 of 4- Celery or RQ with Redis, or a message broker
- Move a slow operation into a background worker with retries
Week 8: Messaging and event driven basics
0 of 4- Kafka or RabbitMQ or Redis Streams
- Emit domain events and consume them in a separate service
Month 3: Quality and architecture
Week 9: Testing
0 of 5- pytest, pytest asyncio, testcontainers
- A test suite covering unit and integration paths with a real test database
Week 10: API styles beyond REST
0 of 4- Strawberry or Ariadne for GraphQL, grpcio
- Add a real time WebSocket feature and one GraphQL endpoint
Week 11: Architecture and scaling
0 of 5- a rate limiter, a circuit breaker pattern
- Add rate limiting and a circuit breaker to an external dependency
Week 12: Observability and security hardening
0 of 5- OpenTelemetry, Prometheus, Trivy
- 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- Containerize and deploy your service with a pipeline
Week 14 to 16: Capstone
- 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