Session

The Life of a Go Binary

You run go build, deploy the binary, and everything just works.

But what actually happens between compilation and process exit? What runs before main()? How does the runtime initialize scheduling, memory management, and garbage collection? What happens when your service receives SIGTERM?

In this talk, we will follow a Go binary through its entire lifecycle — from compilation to shutdown. We will examine the compilation and linking model, runtime bootstrap, scheduler initialization, garbage collector setup, and graceful termination. Along the way, we will connect these internals to real-world concerns such as container deployment, cross-compilation, long-running services, and production observability.

Understanding this lifecycle reveals why Go binaries behave so predictably in modern infrastructure environments. It also explains why Go has become a dominant language for cloud and systems software.

By the end of this session, you will have a clearer mental model of what happens before main(), during execution, and at shutdown. You will leave better equipped to design services that cooperate with the runtime, diagnose startup and shutdown issues, and reason about performance from first principles.

Every Go program has a life story.
This talk tells it.

Ajitem Sahasrabuddhe

Staff DevOps Engineer, Automattic

Nagpur, India

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top