Backend development

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 Git

Lessons· one lesson for each topic, in this order

  1. 1The terminal and Git
  2. 2Python syntax and collections
  3. 3Functions, classes and exceptions
  4. 4Modules, virtual environments and pip
  5. 5Type hints
  6. 6asyncio, threads and the GIL
  7. 7DNS: from a name to an address
  8. 8TCP connections and TLS
  9. 9HTTP requests, responses and headers
  10. 10HTTP methods and status codes

Start with· follow one of these

Practise

  • Your language track: small exercises with free mentor feedback on idiomatic code

Keep handy

  • Quick syntax lookups for your language when you forget how something is written

  • Read the HTTP overview, methods, headers and status code pages until they feel obvious

Also worth your time

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.

Tauseef's advice
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.

Mark this stage as not done?