Join 5000 CTOs and engineering managers for opinionated insights Subscribe

Stephan Schmidt, CTO Coach - May 20, 2024

Grok or Stockholm

Is your programming language holding you hostage?


TL;DR: Go's explicit error handling, once frustrating, becomes appreciated over time—but this raises a critical question: are you truly understanding better engineering trade-offs, or falling victim to Stockholm syndrome by accepting limitations of your tools and processes? Apply this lens when evaluating technologies, onboarding feedback, and long-held practices.

I ❤️ Go. Mostly from the beginning.

I didn’t like error the handling of Go

v, err := call()
if err != nil {
  return err
}

But now I like it. It is simple and understandable. Even when I come back after some months.

Would I wish for

v := call()!

as syntactic sugar for the code above? I would have said yes some months ago, I’m not so sure any more (there are many problems with the syntactic sugar, like wrapping errors, and you end up with From like in Rust etc.).

Does that mean I finally grokked Go (understood). Or does that mean I’m the victim of Stockholm syndrome, loving Go for taking me hostage?

For the first time I wondered about this decades ago with Monad transformers. People loved them. I loved them. But they solved a problem that you would not have without Monads. And Monads solved a problem that you would not have without restricted effects. So did I love Monad transformers because I grokked them after writing lots of code, or because I loved them for holding me hostage?

I think this is a question everyone needs to ask themselves. For the programming language they are advocating, for the job they have been doing (I’m interested of the opinion of new hires after two months about the company, later there is always the danger they don’t see the problems anymore), and many more things. Grok or Stockholm?

For now, I ❤️ Go and keep using it, even with the error handling it has.

More Stuff from Stephan

About me: Hey, I'm Stephan, I help CTOs with Coaching, with 40+ years of software development and 25+ years of engineering management experience. I've coached and mentored 80+ CTOs and founders. I've founded 3 startups. 1 nice exit. I help CTOs and engineering leaders grow, scale their teams, gain clarity, lead with confidence and navigate the challenges of fast-growing companies.

Join 5000 CTOs and engineering managers for weekly insights from CTO Coach Stephan Schmidt - just me, no ads, no sponsorships, free.