Published Apr 27, 2022

The Power of Go | Beyond Coding Podcast #50

Patrick Akil dives into the world of Go with Hannes de Jager, Kevin van den Broek, and Goos van den Bekerom, discussing the impact of generics, the unique challenges and efficiencies of Go, and the mindset shifts needed for its adoption, offering insights into coding practices and organizational hiring processes.
Episode Highlights
Beyond Coding Podcast logo

Popular Clips

Episode Highlights

  • Simplicity

    The Go programming language offers a unique balance between simplicity and complexity, making it appealing for developers who prefer understanding the intricacies of their code. contrasts Go with frameworks like Spring, highlighting how Go's lack of abstraction allows for a deeper understanding of the codebase, which can be both a challenge and a benefit 1. shares his experience, noting that Go's straightforward nature enabled him to confidently run services in production within a month, unlike his experience with Springboot 1. This simplicity is further enhanced by Go's ability to compile into static binaries, making deployment across various platforms seamless 2.

    When I had about three years of experience with Springboot before I really understood what was happening and really started diving more into internals and would go within a month, I was running my first services in production and feeling completely confident with it and what everything was doing.

    ---

    The ease of cross-compilation in Go is another advantage, as points out, allowing developers to adapt to different architectures with minimal effort 2.

       

    Efficiency

    Go's efficiency and error handling are often praised, though they come with their own set of challenges. and discuss how Go's lightweight nature reduces memory usage significantly compared to languages like Java, which can lead to cost savings in cloud environments 3. However, Go's error handling and garbage collection are sometimes criticized, especially when compared to Rust, which is known for its efficiency but has a steeper learning curve 3.

    If you compare go, you'll be productive probably within a week. Whereas with Rust, you fight with a borrow checker for a couple of months. And if you survive, if your self esteem survives it, then you start to love rust, and then it really works for you because it's a really powerful language.

    ---

    The discussion also touches on hiring practices, emphasizing the importance of hiring versatile engineers who can adapt to different languages, rather than focusing solely on language-specific skills 4.

Related Episodes