Writing
I write to work ideas out in the open — three books with Manning Publications, a handful of talks, and essays on the blog. Most of it circles the same question: how do you take a system from “it works on my machine” to something a team can rely on?

Go in Action, Second Edition
A ground-up update to the classic introduction to Go, rewritten for the language as it is today: modules, generics, structured logging, and the tooling and patterns teams actually use in production. It moves from the fundamentals through concurrency, testing, and building real services, with a constant eye toward code you can ship and maintain.
If you learned Go from the first edition, this is the version that catches you up. If you’re new to the language, it’s a straight path from “hello, world” to a service you’d be comfortable putting behind a load balancer.
Read more →More books

Refactoring to Rust
A hands-on guide to bringing Rust into a codebase you already have, one component at a time. Instead of a risky full rewrite, you learn to find the parts of a system where Rust’s performance and safety guarantees pay off most, and to integrate them cleanly with the code around them.
The result is a practical migration path: measurable wins on the pieces that matter, without betting the roadmap on a rewrite.
Details →
Shipping Go
A practical guide to the path code takes from a developer’s laptop to production. It builds a Go delivery pipeline stage by stage — tests, linting, containers, CI, cloud deployment — and treats that pipeline as a product in its own right: something you design, measure, and improve.
The through-line is a conveyor belt: code moves through a series of stations, each one adding verification before the next, so that shipping becomes routine instead of an event.
Details →