Consulting services

I’m available for short-term high-impact consulting, typically in the form of workshops or deep-dives with your engineering teams or leaders. I’m also available for longer-term technical advisor roles. If any of the following topics are interesting to your organization, please get in touch: peter@bourgon.org, or peterbourgon on Twitter, or peterbourgon on Keybase.

Observability consulting

I grew up with Prometheus at SoundCloud, I’ve worked in the observability-related developer tooling market, and I’ve built out an observability infrastructure at a global-scale organization. I have a good and intuitive understanding of what makes an observable distributed system, and I can help your organization level-up your logging, monitoring, and tracing. I’m recognized as a domain expert by industry groups like Gartner, and I’ve developed strategies to justify observability spend to upper management.

Selected articles and talks on this area of expertise:

Microservices and architecture consulting

I wrote Go kit to address many of the problems that I’ve seen confound organizations as they attempt to balkanize their monoliths and improve their product velocity. If your organization is thinking about adopting microservices, or just needs some pointers from someone who’s seen all the ways it can go wrong, I can probably help.

I’m not a microservices zealot: a more elegant monolith is often the better answer. I take the time to understand the history and inertia of your organization, and deliver specific, actionable advice. I’ve helped VPs and directors shape their engineering strategy, and teams of engineers improve their implementations.

Go language training

I’ve been programming Go since its release in 2009, and I’ve been doing it full-time and professionally since 2011. I’ve written line of business applications, infrastructure glue code, distributed data systems, deployment and orchestration platforms, end-to-end logging systems, and toolkits for microservices. If your organization wants to level up your Go knowledge, I can probably help.

I can given half- or full-day courses on pretty much any Go-related topic you can imagine, always with an emphasis on practical and high-quality software engineering. I also do a 3- to 4-day intensive course, teaching Go from first principles to groups of any skill level. My training style is thorough, didactic, and interactive. I highlight best practices, idioms, and antipatterns: stuff you can’t easily get from books and literature.