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. 2Go syntax, structs and slices
  3. 3Errors as values
  4. 4Interfaces
  5. 5Packages and Go modules
  6. 6Goroutines and channels
  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

  • CourseFree
    A Tour of Go

    The Go Authors · Beginner

    The official interactive tour: basics, methods, interfaces, generics and concurrency

Practise

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

Keep handy

  • Short runnable examples to look up while you write: errors, JSON, goroutines, testing

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

Also worth your time

Before moving on: Write a small Go command line tool with table-driven tests using go test, push it to GitHub in sensible commits, and explain every line of output from curl -v against a real website.

Tauseef's advice
Write Go like Go: return errors, keep interfaces small and resist building class hierarchies from another language. Learn goroutines now, but do not use them until you can explain who closes each channel.

Mark this stage as not done?