Migrations: the sole scalable fix to tech debt.

April 15, 2018. Filed under management 99infrastructure 34

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.

Some of my favorite technical papers.

April 7, 2018. Filed under infrastructure 34software-engineering 15

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!

Managing in the growth plates.

March 21, 2018. Filed under management 99

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.

Refactoring Ruby programmatically.

February 13, 2018. Filed under ruby 4devtools 2

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.

Product management in infrastructure engineering.

February 6, 2018. Filed under management 99infrastructure 34product 5

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.