← essays

the journey no longer matters

by maurice kleine · · first posted on x and linkedin

As a software engineer of 15 years, I used to thoroughly enjoy the process and the craftsmanship of writing good code. I'd meticulously sort imports, exports, and object properties, and I would think long and hard about the right concepts so that the variable and function names I was writing would make sense. I wanted the code to follow an easy-to-understand process and so that it would be a pleasure for others to work with.

That, of course, was never the end goal; the goal was shipping a feature that users would actually use. But the journey was as important as the destination, for myself and for my teammates working on that codebase in the future. My carefully crafted journey made the journey of the next person easier. The journey itself was a crucial part of continuously delivering top-quality destinations at a decent speed.

But over the past year or so, the human journey has stopped mattering. Who cares if your code is sorted or not, or what a variable is called, what your commit convention looks like or whether or not software principles like DRY are properly implemented? Those constructs made it easy for humans to work with a codebase, and we don't really have to do that anymore. At least not at a level 'zoomed in' enough to have to care about these things. Our agents can figure it out, and no matter how much we long for our agents to keep applying the same craftsmanship that we used to care so deeply about, we need to come to terms with the fact that how you like your code to be written no longer matters.

This is a good thing! Because, as I said, the craftsmanship of writing code was never the end goal. It was a means to an end, a way to keep control, so that future work wouldn't be slowed down or blocked by sloppy, unreadable code. And while that still holds true for LLMs - just look at how easily a coding agent spirals in the wrong direction because of a wrong code comment - it matters much less than before.

This sounds sad and might even make you nostalgic, but being a craftsman was never your job. It was a necessary skill you had to develop because code was brittle, codebases grew and became harder to debug, and you had to work with others who had their own opinions on code conventions. But the truth is, it was all a means to an end, not what you were actually meant to do: deliver value, create unique solutions, innovate. A lot of us mistakenly took the means for the end, and AI is tearing that notion apart. And if you ask me, that is a good thing.

Because it frees up your time and energy to focus on exactly the things that should excite you as a builder: coming up with unique solutions and thinking bigger. You can (and need to) zoom out; rather than updating a linting rule or spending half an hour trying to find the right concept, you're free to focus on much more ambitious work, for yourself, for your users or for your organization.

Your new journey is not crafting code; it is crafting systems that produce code. You need to learn how to give your coding agents a map of the system, so they can trace their own journeys. And let's be honest, mapmakers are kinda badass.

Code craftsmanship was never meant to be permanent.

Start making maps.