Golang
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
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.