Devon C. Estes

Building invisible systems

For most of my career, the software I was building was basically the entirety of the product the company sold. We worked with our colleagues in Product to decide what we would build next to serve our customers' needs, we wrote some code to solve those problems, and then we shipped it. It's easy to show impact when the value your team delivers is derived almost entirely from the software you ship to production. »

Accepting incorrectness

Nearly every conversation I've been in about software quality treats it as a tradeoff with speed. You can move fast, or you can be correct, and your job as a lead is to pick a point on that line and defend it. I've never really believed in this, and with AI speeding things up further this is a bigger topic. After a few years of being the person accountable for both the speed and the quality of what a team ships, I've come to think that bugs in production aren't really the problem here. »

The Parable of Painting an Office

Today I'm taking a bit of a different track on what I'm writing about. Instead of something very technical, I'm going to talk about something completely non-technical - estimation. Estimation is one of those things that everybody wants, but nobody ever really gets, and this is something that can be really hard to explain to product folks, but I've used this example to explain our faults in estimation quite a lot, and so I wanted to actually write it down and share it with folks in case they could use it as well. »

Three Ways To Get Started With Mutation Testing

I've just pushed some significant functionality from Muzak Pro into Muzak, which means that it's even easier for folks to work some mutation testing into their workflow and start seeing the benefits! Today I'm going to break down three ways that you might want to get started with that. »

Three Classes of Problems Found by Mutation Testing

It's fairly common for folks who haven't used mutation testing previously to not immediately see the value in the practice. Mutation testing is, after all, still a fairly niche and under-used tool in the average software development team's toolbox. So today I'm going to show a few specific types of relatively common problems that mutation testing is great at finding for us (and that humans are notoriously bad at finding). »