ShareThis' data processing pipeline handles one billion events every day. Our web server processes tens of thousands requests per second. Golang makes it fast and scalable. Great support for concurrency and a powerful http library make Go the right tool for this task.
The software engineering culture at ShareThis encourages everyone to share knowledge with other team members and learn from them. It took me one week to learn Go enough to be able to deploy to production multiple times.
What made it successful?
Pair-programming is a great tool that stimulates close collaboration, brainstorming, and knowledge flow. Every line of code is instantly reviewed which leads to better quality software. It is also a great opportunity to learn a new technology.
Andrew Backes is Senior Software Engineer at Sharethis and an experienced Golang programmer. He gave me a quick introduction and recommended the Golang tour to get started. We pair-programmed the whole time. It was important that I was the typing person most of the time so I could make sure things weren’t happening too quickly for me to understand. Having examples available was also helpful while learning a new programming language. Working with an already existing codebase was easier than writing something from scratch. The basic code structure was already in place and there were examples on how to do various things.
It took around 24 hours from getting started with Go to the first production deployment of my code. One week later, although I am still just beginning my journey with Golang, I know the basics and am able to get work done.
Want to learn Golang? Join us!