Knowing What to Build
— Work, Learning, Software — 2 min read
Codemagic Patch, the product I've been leading at Codemagic, is now public. Right now, it's only available as a self-hosted option, but it's on its way to becoming a managed service. You can check it out at https://github.com/codemagic-ci-cd/codemagic-patch.
Actually, I'm not writing this to introduce the product itself. I want to say something about what I came to understand while building it: the most valuable thing in software is the ability to know exactly what you need to build.
The story goes back 18 months. Back then, a friend and I started maintaining CodePush, which Microsoft had open-sourced to the community after discontinuing App Center. It wasn't easy, but we were happy with it. Codemagic even stepped in to sponsor our work. We couldn't have asked for more, because all we ever wanted was to keep using CodePush just as it was.
Martin, Codemagic's CEO, wasn't satisfied with only that. Why not? He showed me what Codemagic had learned from hosting CodePush. The service was already reaching hundreds of millions of devices around the world every month and serving petabytes of data. It became obvious that we needed something better than what we had. And here's the important part: this wasn't a naive "we need something better." It wasn't a bet on the future either. It was about what we already knew, right there in the present.
Once I moved over to Codemagic and started building the new product, I leaned on what we already knew for every one of the hundreds and thousands of technical decisions we faced. As everyone knows, there are countless ways to implement any single idea. In all that uncertainty, we kept asking ourselves what we already knew, and we used it to make each call. What we learned from maintaining CodePush. What we learned from hosting it. In that sense, this new product is the sum of everything we've figured out so far. And of course, it will keep getting better as we learn more.
A lot of products fail not because they were built poorly, but because they never needed to be built in the first place. That was already true back when building software was hard, which is exactly why knowing precisely what to build has always been the most valuable thing of all. And as anyone can easily guess, it will be the one thing that truly sets products apart in the era of AI agents.