Skip to content
System nominalUTC --:--:--Articles 041
DEV TRACK Intermediate to advanced

Go for Backend Services

A complete Go course for backend work: the toolchain, interfaces, errors as values, concurrency, HTTP services, database access and production concerns.

Modules
03
Lessons
09
Reading time
4H 40M
Words
16,706
0 of 9 complete0%

What you will be able to do

  • Write idiomatic Go that passes gofmt and go vet without argument.
  • Design with structs, interfaces and errors as values instead of exceptions.
  • Use goroutines, channels and context without introducing a leak or a race.
  • Build an HTTP service with middleware and graceful shutdown.
  • Query a database with database/sql and manage transactions correctly.
  • Profile, benchmark and containerise a service for production.

Before you start

Working knowledge of at least one compiled or statically typed language, and comfort with a terminal. No prior Go required.

Still being written

3 of 6 modules are finished and readable now. The remaining 3 are in progress and will appear here as they are published. Nothing already written is removed, and the lessons below will not change underneath you.

Go is a small language with a large standard library, and almost all of the difficulty is in the second part. The syntax takes an afternoon. Knowing when a goroutine leaks, why an interface should be defined by the consumer, or how a context cancellation propagates through four layers of a request takes considerably longer, and those are the things that decide whether a service is calm in production.

This course is written for developers who already program and want Go specifically for backend work. It covers the language in three modules and spends the other three on the parts that actually run in production: HTTP services, database access, testing, benchmarking and observability.

Every example compiles and runs. Concurrency examples are run under the race detector, because a concurrency lesson that has never been checked for races is a lesson in how to write a race.

Curriculum

3 modules, 9 lessons

Go deeper

Articles that pair with this course