GopherCon 2022
2022-09-26..2022-09-28
Lake Buena Vista, United States
[GopherCon 2014, GopherCon 2019, GopherCon 2020, GopherCon 2021, GopherCon 2022, GopherCon 2023, GopherCon 2024, GopherCon 2025]
who it's for
Go developers, backend engineers, platform engineers, site reliability engineers, cloud engineers, engineering managers
topics
handwritten gRPC over HTTP with trailers; GOMEMLIMIT soft memory limit; chaos testing and SLO-driven checks; ngrok-style outbound tunnel listener; deploy to Google Cloud Run; Temporal durable workflows; loggable error interface and metrics; test infrastructure as a service; profile-guided optimization in compiler; templater wrapper for html/template; statically typed context for globals
| title | author | length |
|---|---|---|
| RPC Demystified or Hand-writing a gRPC Handler in 7 Minutes | Akshay Shah | 07m |
Handwrites a working gRPC server using only Go's standard library: net/http and encoding/json, converts a REST handler to support streaming by prefixing each… | ||
| Soft Memory Limit in Go 1.19 | Tarun Pothulapati | 07m |
Go 1.19 adds a soft memory limit via GOMEMLIMIT that caps when GC runs by taking the min(gomemlimit−nonheap, GOGC target) rather than letting GOGC alone grow… | ||
| It's Just a Jump to the Left... | Paul Balogh | 06m |
Claims that shifting reliability left and automating load and resilience checks prevents production meltdowns after an unexpected traffic surge. Pipeline adds… | ||
| Look Ma, No Ports! | Alan Shreve | 05m |
Open-source Go library exposes a net.Listener called a tunnel that negotiates with ngrok’s global control plane and points-of-presence so local apps accept… | ||
| Deploy Your Go Application in 7 Minutes | Luke Schlangen | 05m |
Builds a simple HTTP server with go mod init, main.go, http.HandleFunc and os.Getenv("PORT"), then uses Cloud Shell and gcloud run deploy to deploy to Google… | ||
| Durable Executions in the Face of (some) Failures | Andrew Fitz Gibbon | 06m |
Shows a concrete pattern using Temporal workflows to run a three‑step order pipeline (create/confirm payment, fulfill, archive) with durable execution… | ||
| Errors: to Log, or Not to Log? | Konrad Reiche | 06m |
Proposes letting errors decide whether to be logged by adding a Loggable interface that middleware queries, and introducing an ObservedError wrapper plus a… | ||
| Test Infrastructure as a Service | Neha Agarwal | 06m |
A reusable Go module replaces a Python monorepo by embedding a test microservice next to each product module, with a code generator that scaffolds test apps… | ||
| Profile-Guided Optimization in the Go Compiler | Jin Lin | 06m |
Adds end-to-end Profile-Guided Optimization to the Go toolchain by ingesting pprof protobuf format profiles in the frontend, carrying weights through SSA, and… | ||
| Go Templates | Michael Richman | 07m |
Bitly replaces the confusing stdlib docs with a tiny wrapper package called templater wrapper that loads all .html files from a directory with filepath.Glob… | ||
| 7 Jobs 1 Year: Using Go in Different Workplaces | Adam Bernot | 07m |
Seven jobs in one year using Go across startups, government, contracting and big tech, with pay roughly quadrupled over the year. Work includes a Go… | ||
| How Should We Access Global Resources? | Adam Berkan | 07m |
Argues for replacing globals with an interface-backed context that declares only required parts of a server, implemented in Go so missing dependencies fail at… | ||
| Making the Leap from NodeJS to Go | Kalan Chan | 05m |
Moves from Node/Python to Go after three months of learning and working on CI/CD and cloud devops, and hits concrete pain points: unmarshal JSON from bytes and… | ||
| How We Achieved 100x Scale | De Sheng Chuan, Yang Ang | 06m |
Rebuilt a production unwanted-mail pipeline in two months with two engineers, replacing Python + Celery to support >100x scale at ~10% of prior cost and handle… | ||
| nothing matches | ||