April 15, 2018.
Migrations are both essential and frustratingly frequent as your codebase ages and your business grows: most tools and processes only support about one order magnitude of growth before becoming ineffective, so rapid growth makes them a way of life. This post takes a look at why migrations are so important, and also how to run them effectively.
April 7, 2018.
I've long been a fan of hosting paper reading groups, where a group of folks sit down and talk about interesting technical papers. One of the first steps to do that is identifying some papers worth chatting about, and here is a list of some papers I've seen lead to excellent discussions!
March 21, 2018.
There is no one way to manage, and even though you'll have a default style, you have to switch up your approach to be appropriate to match your current situation. In particular I find there are explicitly different values for managing in rapidly changing environments and stable ones, and this post explores how and why they're distinct.
February 13, 2018.
Migrating from an older version of a library or interface can be an easy upgrade, but in a legacy codebase sometimes it can be a remarkably frustrating chore. In this post we look at some examples of programmatically rewriting Ruby source code, as a gateway to thinking about how you could apply the technique elsewhere.
February 6, 2018.
Recently a bunch of teams I work with have turned the corner, having paid down technical debt to a long-term sustainable level. The future unfurls with possibility. Many of the infrastructure engineer teams I’ve been a part of have struggled to make the transition from maintenance to innovation, and I wanted to write down some of the ideas that we’re exploring to ease this shift.