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. 2Java syntax, classes and interfaces
  3. 3Collections and generics
  4. 4Exceptions and records
  5. 5Maven or Gradle builds
  6. 6Threads and virtual threads
  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

  • GuideFree
    Dev.java: Learn Java

    Oracle · Beginner

    The official path through modern Java: records, collections, generics and exceptions

  • CourseFree
    Java Programming MOOC

    University of Helsinki · Beginner

    Free Helsinki course with hundreds of graded exercises, the best way to get fluent

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 Java command line tool built with Maven or Gradle, with JUnit tests, push it to GitHub in sensible commits, and explain every line of output from curl -v against a real website.

Tauseef's advice
Learn modern Java (17 or later: records, switch expressions, var) and skip old tutorials full of boilerplate. Get comfortable with collections and generics before Spring, because Spring hides a lot of Java behind annotations.

Mark this stage as not done?