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. 2Rust syntax, structs, enums and traits
  3. 3Ownership, borrowing and lifetimes
  4. 4Result, Option and the ? operator
  5. 5Cargo, crates and modules
  6. 6async/await, Tokio and shared state
  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

  • BookFree
    The Rust Programming Language

    The Rust Project · Beginner

    The official book, free online: read ownership, enums, error handling and traits slowly

  • GuideFree
    Tokio Tutorial

    Tokio · Intermediate

    The official Tokio tutorial: tasks, shared state, channels and the async model Axum runs on

Practise

  • Small exercises that follow the book chapter by chapter, checked in your terminal

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

Keep handy

  • Runnable examples to look up while you write: traits, generics, errors and Cargo

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

Also worth your time

Before moving on: Write a small Rust command line tool with Cargo and unit tests run by cargo test, push it to GitHub in sensible commits, and explain every line of output from curl -v against a real website.

Tauseef's advice
Read the ownership and error handling chapters of the Rust book slowly and do Rustlings alongside them; the compiler errors are the lesson, so read them in full. Expect the first weeks to feel slower than Go or Python, and do not reach for .clone() and .unwrap() to make that feeling stop.

Mark this stage as not done?