In this post, I share mistakes I’ve made writing Go code for six years since the beginning of my journey with the language. Table of Contents show/hide init() functions Constants Nil pointer dereference Comments and documentation Creating too many packages Exporting names Internal packages Globals and configuration Imports and build size Concurrency and streams Sockets and WebSocket Read also: The ecosystem of the Go programming language and Environment variables, config, secrets, and globals.