Stage 1 of 7 · 10 lessons · ~6 months
Your language and how HTTP works
Get fluent in one backend language and its runtime, and learn exactly what happens between a client and your server. Everything later in this roadmap sits on these two things.
Start: The terminal and GitLessons· one lesson for each topic, in this order
- 1The terminal and GitLesson
- 2Python syntax and collectionsLesson
- 3Functions, classes and exceptionsLesson
- 4Modules, virtual environments and pipLesson
- 5Type hintsLesson
- 6asyncio, threads and the GILLesson
- 7DNS: from a name to an addressLesson
- 8TCP connections and TLSLesson
- 9HTTP requests, responses and headersLesson
- 10HTTP methods and status codesLesson
Start with· follow one of these
- CoursePaidGrokking Python Fundamentals
Design Gurus · Beginner · $50
Python basics in a sensible order: collections, functions, classes and modules
- CourseFreeCS50's Introduction to Programming with Python
Harvard University · Beginner
Free Harvard course with real problem sets, and it teaches unit tests early
Practise
Keep handy
Also worth your time
The DNS, TCP, TLS and HTTP steps behind every request your backend will handle
Before moving on: Write a small Python command line tool with type hints and pytest tests in its own virtual environment, push it to GitHub in sensible commits, and explain every line of output from curl -v against a real website.

Use a virtual environment for every project from day one and add type hints as you go; both save you pain later in FastAPI and Django. Do not stay in tutorials: once CS50P week 4 feels easy, start building small tools.