Backend Engineering Journey

A complete, self-paced Mid-to-Senior Backend Engineering Curriculum built for the AI era. It takes a learner with rusty fundamentals (~10% retention) all the way to designing, building, verifying, and operating production-grade backend systems.

Instead of memorizing syntax that AI can generate in seconds, this repository trains you in engineering judgment: systems thinking, debugging subtle concurrency and database failure modes, reviewing AI-generated code for security and performance traps, and architecting resilient services.


New here? Read docs/START-HERE.md first

It is a ten-minute walkthrough of how the repository works, how to run the local browser UI, how to work through the 5-rung exercise ladder, and how to build the incremental capstone project (PulseForge).


How this repository is organized


The Path, Phase by Phase

PhaseTheme & StackCapstone Milestone (pulseforge/)
Phase 0Linux, Git, Python Internals & Testing — OS processes, I/O descriptors, Git internals, Python memory/object model, strict typing, pytest fixtures & mockingv0.1 — CLI log parser, structured event validator & test suite
Phase 1CS Fundamentals, Algorithms & Software Architecture — Big-O, hash tables, heaps, trees/graphs, sliding window, SOLID, Clean/Hexagonal Architecture, Code Reviewv0.2 — In-memory sliding-window rate limiter, ring buffer & hexagonal domain core
Phase 2Networking, Protocols & Concurrency — TCP/IP, DNS, TLS, HTTP/1.1–3, WebSockets, SSE, asyncio event loop internals, threads vs processes, backpressurev0.3 — Async TCP/HTTP ingestion server with SSE live tailing & graceful shutdown
Phase 3Relational Databases, SQL, FastAPI & Django — PostgreSQL internals, ACID, isolation levels, B-Tree/GIN indexing, EXPLAIN ANALYZE, N+1, SQLAlchemy 2.0, FastAPI, Django ORM/Admin, JWT/OAuth2/RBACv0.4 — Multi-tenant FastAPI ingestion API + Django management portal + PostgreSQL storage
Phase 4Caching, Queues, Workflows, Search & gRPC — Redis caching & Lua locks, RabbitMQ, Celery, Temporal durable workflows, Elasticsearch full-text search, gRPC, Outbox & Idempotencyv0.5 — Redis deduplication, RabbitMQ/Celery workers, Temporal alert workflows, Elasticsearch & gRPC
Phase 5Containers, CI/CD, IaC, Observability & System Design — Multi-stage Docker, GitHub Actions, Kubernetes, Ansible, Prometheus, Grafana, Sentry APM, Load Testing & System Designv1.0 — Production Docker/K8s stack, Ansible provisioning, Prometheus/Grafana/Sentry observability

Quick Start

cd backend-engineering-journey

# Verify every written lesson: headings, examples, reference solutions, PROGRESS.md, PulseForge
python3 -m tools.lesson_lint

# Work on one lesson (the starter tests fail until you solve the ladder)
python3 -m unittest phase0-foundations/01-linux-and-shell/01-processes-and-streams/test_exercises.py -v

Requires Python 3.11 or newer. The linter and the web UI use only the standard library.


Current status


Reading & Tracking in Your Browser

python3 -m web_ui.server --no-open

Open http://127.0.0.1:5050. The server binds to loopback only and rejects foreign Host and Origin headers.

Where progress and tasks live

All progress and tasks are stored in the repository, so git log is your study log:

FileWritten by the UI when you...
PROGRESS.mdmark a lesson complete (ticks its checkbox, updates "Currently working on")
progress/rungs.jsonsave rungs, confidence and notes
progress/todos.jsoncreate, toggle, or delete custom study tasks

Commit both with the lesson. See docs/adr/0001-progress-tracking-state.md.