Skip to content
  • Capabilities
  • Portfolio
  • Company
  • Insights
  • Contact

219 Design

Skip to content
  • 219 Design
  • Capabilities
  • Portfolio
  • Company
  • Insights
  • Contact
FacebookLinkedInXEmail

Tech Deep Dives

Been curious about Golang?

Kelly HellerStaff Software Engineer

April 19, 2017

Golang Google Language

My Authentic Golang “Go” Story.

I love code, but I approached Google’s open source programming language, Go, as a skeptic – a battle weary skeptic. Having reached the 10-year milestone as a software engineer, I’ve seen fads come and go. I’ve also been satisfied enough with my native language, C++, to not search for alternatives. However, after watching the mounting tide of Go adoption sweep up some of my most respected colleagues, I finally had to wade in and see for myself.

I love Go! Here’s why.

I like Go for what it has, but I LOVE Go for what it doesn’t have. Of course, it has everything you need – multi-paradigm programming idioms, type safety, data hiding, automated testing – here’s proof!

Functional programming

Object-oriented programming

“Mocking” capabilities inherent in the language

But, more importantly, it has nothing you don’t need. Go is opinionated. Normally, I wouldn’t like that, but it has all the same opinions I have! With Go, there’s no more arguing about…

 
  • Tabs versus spaces
 
  • Brace-indent style
 
  • Protected visibility
 
  • Compiler warning levels
 
  • Overloading
 
  • Implementation inheritance
 
  • Deep spaghetti inheritance
 
  • Composition versus inheritance
 
  • Exceptions & Throw/Catch versus return code
 
  • Telescoping constructors
 
  • Test harness contortions
 
  • Circular module dependencies


Go gives you the power to freely flex both your OO design chops and your functional programming prowess as you see fit. And yet it eradicates mind-numbing code review controversies at the root, by removing choice where we never really needed it.

Looking at Go is like looking at a codebase you just overhauled and realizing: “This project is much better now, and it came from a net removal of code.”

Go at Work

I recently joined 219 Design, a product engineering company that specializes in embedded/smart products. In our line of work (Qt GUI’s, medical devices, robotics, etc), the use of C and C++ is mandatory. Thankfully, we also consider it great fun. At 219, we’ve proved our mettle at wielding C and C++ with grace and discernment. It would seem unlikely that a trendy new language could lure us from our firm foundation. And yet, Go has managed to win our hearts and minds. We’ll always be steadfast C and C++ aficionados, but our successes now also include:

 
  • a Go auto-updater process with intelligent failure handling, targeting a headless IoT setting where prompting the user is impossible.
 
  • a Go RESTful web server for electronic medical data, built using lightweight Go packages including Negroni and Gorilla Mux.


We are looking forward to using Go in just the right project soon! 


 

Want to Learn More About 219 Design? Contact us!

Want to learn more about Go? Check out my SCaLE 15x Golang Presentation.

Sign up for our newsletter

Please verify that you are human.

  • Contact
  • Privacy
  • Opt-out preferences
LinkedIn
Instagram
Facebook
219 Design

219 Design, LLC© 2026

Manage Consent

This site uses cookies for web analytics and targeted advertising purposes. You can accept this tracking or exercise your right to opt out by visiting our Opt-Out Preferences page.

Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}