Why Tech Startups Should Look At Go

This week we welcome a guest post from William Kennedy of GoingGo.net, a co-author of Go in Action.

The Edmonton Go User Group is one of the most active meetup groups at Startup Edmonton, meeting monthly to collaborate, discuss and learn Go. 

On January 24, 2015, they welcome William Kennedy for a full day workshop on Go that will provide a jump start in learning and working with the language.

Why Tech Startups Should Look At Go

If you founded a startup in the tech space, there is a great chance you decided on your technology stack long before you thought about anything else. I’m sure the initial goal was to build something very quickly that can be shown to investors. Then once you raised the money you needed, you would go back build it right. Sound familiar?


Many companies at that point don’t feel they can go back and build it right. They continue forward with their prototype code until one or two years later when they hit that wall. You know that wall. The one where the product can’t handle the success you are experiencing and suddenly growth comes to a halt. Once you hit that wall, it is critical to make sure your next decision is the right one.

At this point you are probably experiencing a few issues but your core one is performance and scalability. The cost of adding computing power to keep up with the customer demand is starting to get expensive. Your prototypes were designed to prove the ideas, not sustain the growth. At this point you are spending more time hacking the code and architecture than growing the platform. Customers are also complaining and you can’t possibly bring on anymore. What do you do?

Upgrading Your Stack

There are several stories where companies have hit this point and turned to theGo programming language to solve their problems. Here are three case studies documented by the companies and individuals that have made the switch:

Iron.io 

“When we built the first version of IronWorker, about 3 years ago, it was written in Ruby and the API was built on Rails. It didn’t take long for us to start getting some pretty heavy load and we quickly reached the limits of our Ruby setup. Long story short, we switched to Go.” - How We Went from 30 Servers to 2: Go

SendGrid

“The backend systems of SendGrid were primarily written in Perl/AnyEvent in the first years, moving to Python/Twisted later on. We looked into using the Gevent framework for Python, but during an inception meeting we realized it was just the same problems we had, dressed a different way. It wasn’t going to help solve our underlying challenges. At that point, we realized we needed to make a fundamental shift in our development language, and it boiled down to a contest between Scala, Java, and Go.” - How to Convince Your Company to Go With Golang

TJ Holowaychuk

“The more I’ve been working with distributed systems, the more I’m frustrated by Node’s direction, which favours performance over usability and robustness. In the past week I’ve rewritten a relatively large distributed system in Go, and it’s robust, performs better, it’s easier to maintain, and has better test coverage since synchronous code is generally nicer and simpler to work with.” - Farewell Node.js

Conclusion

I look forward to spending the day exploring Go and how it can help you and your technology platform.

- William Kennedy, GoingGo.net, a co-author of Go in Action and trainer extraordinaire.