I’ve learned many languages to a proficient and professional level, but Golang is my new favorite. It was created to be straightforward, easy to write and very fast. Concurrent processing is a first-class citizen in Go, and thread-safety is embedded in virtually all of the default implementations of global packages, so it is really, really easy to implement true parallel-processing algorithms. I spend a lot of time working with huge amounts of data (billions of HTTP requests, millions of images, etc), and when I am not able to use a more well-suited tool (Hive, Hadoop Map/Reduce, Spark, Athena, Elasticsearch, InfluxDB), I increasingly find Go to be the best tool in the box.

I learned Go by porting the Javascript-based WURFL.js mobile device intelligence system over from PHP. It was a refreshing language to work in. The idiomatic way to write Go leaves code structures very flat and without much abstract scaffolding, which is a welcomed change, especially for microservices.

Steve Kamerman

COO @scientiamobile