Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Go Home  •  Go Docs

Summary

At Samsara I used Go as my primary language for backend development for 5 years. Most of the work I did was in the context of building microservices, and I used Go to build gRPC servers and clients, GraphQL servers, define database schemas, and more.

Outside of work Go is my primary development language for personal projects. I’ve used it to build CLI / TUI tools, servers to handle HTTP requests, web applications, and more.

Memorable Challenges

Iterating over a map is not deterministic

In Go, iterating over maps is non-deterministic, meaning that the order in which you traverse the elements of a map is not guaranteed to be the same across iterations, even if the map itself has not changed. This characteristic can lead to unexpected behavior, especially when dealing with use cases like time series data or form data where the order of elements is significant.

Details