The Go compiler is a great but complex tool. For most Go programmers it’s just that, a tool. It doesn’t matter what happens between my go build and the execution of my binary, because, at the end of the day, the go compiler works like a charm. But if you are a curious person that wants to know more about this process, this is your talk. I’ll go through the compilation of one of the simplest go programs you can write: a hello world. From that source file, with just plain text, into an optimized machine-specific binary code, passing through the set of transformations that happens in between.