My First Year as a Junior Developer at Rotational Labs
🎉 I just celebrated my first year as a junior developer. In this post, I’ll share some of the things I’ve learned and techniques I’ve grown to value over the last twelve months.
Sep 1, 2023Mocking the Universe: Two Techniques for Testing gRPC with Mocks
At Rotational, we use gRPC quite a bit. It’s great for specifying network APIs, but can challenge us to find new ways to thoroughly test the code. Follow along with this post to learn two ways of using mocking to test gRPC services!
Mar 28, 2023Ranges of Integer Data Types
The data type choices we make when building data systems or metrics is critically important: as our systems run for long periods of time it can be easy to overflow the integers that we use (Y2K bug anyone?). As a result, I find myself …
Sep 7, 2022Effective Programmers Read Code
As programmers, we tend think of ourselves as authors of code, but our daily engineering practice probably requires us to spend more time reading code than writing it. Perhaps this is even a source of stress for you. Changing your mindset …
Aug 8, 2022Transparently Mocking gRPC Services
gRPC is an effective way of implementing service-to-service APIs. However, there are limited tools available for mocking and testing gRPC services out of the box. One option is to set up a live test server, although this comes with its own …
Jul 8, 2022Marshaling Go Enums to and from JSON
Customizing JSON serialization for your data types seems relatively straightforward on the surface, but it’s easy to get turned around in receiver, value, pointer, and indirection confusion. Many of the patterns and rules-of-thumb you …
May 26, 2022Getting Started With Tmux
If you’re working in distributed systems, having a good terminal setup is pretty important! On MacOS iTerm2 is a popular choice. It has tabs, autocomplete, a built-in password manager and a fantastic screen splitting feature. If however …
Apr 15, 2022Fake It When You Make It: Creating Mocks in Go
In the age of microservices and containerized applications, software is less monolithic and more interdependent. How do we write tests which account for this new reality? One common strategy is to create mocks for services. In this post, …
Dec 6, 2021Using Google's Secret Manager API with Go
Security is by definition an inconvenience. At the very least, it’s about making access to data as challenging as possible for the baddies, conveniently measured in computation time. But good security also requires us good folks to go …
Jun 1, 2021Contexts in Go Microservice Chains
Contexts are a critical part of services implemented in Golang. Although we see them often in server interfaces, they can be mysterious to developers implementing request handlers. In this post, we’ll discuss what contexts are and …
May 2, 2021