21 min watch

FOSDEM 2024: You're already running my code in production

How I became a Go contributor, and you can, too.


17 min read

Error handling in Go web apps shouldn't be so awkward

A useful error handling pattern for Go REST, gRPC, and other services.


1 min read

Let's do Kubernetes

I’m taking a small detour today, to a topic that’s not strictly Go-related, but which I get asked about a lot: Docker and Kubernetes. Starting on Monday, in what is likely to become a 2- or 3-week series, I’m going to be deploying a small Go app I wrote, to Kubernetes on Google Cloud. I’ve done this before, but it’s been a few years, so I’m a bit rusty. And Kubernetes has changed (as it always does), so there are sure to be some educational bumps along the way.


24 min watch

Resume advice for a first-time job seeker

I review the résumé/CV of a first-time job seeker, looking for a Go-related job.

Subscribe to Boldly Go: Daily

Every day I'll send you advice to improve your understanding of Go. Don't miss out! I will respect your inbox, and honor my privacy policy.

Unsure? Browse the archive.


8 min watch

Don't mock slog

Don't mock slog! This video shows you the super simple alternative


1 min read

I'm going back to school

Watch me learn to build a web server in Go, courtesy of


54 min watch

Building a Go linter from scratch

I walk through the "Writing Useful go/analysis Linter" tutorial by Denis Isaev, and build my first linter from scratch.


16 min watch

Inspect Your Errors: Unwrapping errors for fun and profit

I've talked about wrapping errors. Now let's talk about the various ways to unwrap and inspect errors.


23 min watch

Writing the perfect résumé to land your first Go job

I critique the résumé/CV of someone looking for their first Go job, and offer my suggestions for improvement.


28 min watch

I'm officially a Go contributor! (and you can be, too)

Learn how the Go proposal and change process works, with a real world example.


30 min watch

How to bootstrap a Go project on GitHub Actions

I outline bootstrapping steps for a new Go project with GitHub Actions to run tests, lint code, and ensure secure project setup.