There's this PR that's been sitting in my head rent-free for the last few weeks. +64,218 lines added, -4,691 removed. The kind of diff that would have, in a previous life (circa: 2024?), represented months of careful, deliberate work: A system redesign, a major migration, something with weight, and weeks of deliberation attached to it.
Instead, it's a Tuesday afternoon's worth of AI output that someone generated, presumably with a dozen prompts to Claude Code/Codex. We used to joke that measuring engineering output in lines of code was like measuring a novel's quality by word count. Somewhere along the way, we stopped joking and started doing exactly that, except now the numbers are a lot bigger and the accountability is even thinner. Looking at the PR, I wonder if there was a prompt saying "Make sure you add tests for all updated code paths", and maybe one with "review your own work and ensure you are not missing any edge cases", and whether, at some point, tokens with IDs "13659" and "1608" (for "Thank" and "You") were sent to an LLM for all the hard work it did.
Here's what irks me most: we had actually gotten good at building software. The last decade of software engineering, for all its chaos, produced some genuinely beautiful thinking: microservices done right, event-driven architectures that scaled elegantly, infrastructure-as-code that made you feel like the system had intention behind it. Renaissance art is, IMHO, a fair comparison. Not because it was perfect, but because you could tell a human being with taste and hard-won judgment had made deliberate choices. Don't get me wrong, I'm not saying all, or even most, code was beautiful in any sense of the word, but it seemed to be a lot easier to find software that had meaning beyond just existing. What we're producing now seems closer to that banana duct-taped to a wall. Except it's not even provocative enough to be interesting. It's just... a lot of banana.
The tragedy isn't that AI can generate code. Heck, that part is genuinely remarkable technology, and it's only getting better. The tragedy is the organizational layer on top of it. Some manager in a large org discovered that their team's PR velocity went up 4x, put it in a deck, and now that's the metric. Nobody is asking what any of this code does, whether it's maintainable, or whether the engineer who wrote it could explain it under mild interrogation. But beyond the metrics nonsense, there's something more personal that's been lost. There used to be a specific kind of joy attached to a large PR. The kind where you'd been heads-down for weeks, had the whole system in your head simultaneously, and finally opened that merge request knowing you'd genuinely moved something forward. Teammates would dig in, leave comments, ask questions that showed they cared about what you'd built. That PR was a conversation. Now it's menial labor.
Where do we go from here, I genuinely don't know. What I do think is that something intangible has been quietly hollowed out. Code used to get written with a kind of authorship behind it, a point of view, a set of tradeoffs someone consciously made and could defend. Even bad code, written by a human, had the fingerprints of a decision on it. What we're producing now is abundant and largely author-less, generated without intent and reviewed without comprehension. Coding, as a craft, is being reduced in ways that are hard to articulate precisely because the reduction is so total. The output looks the same. The PRs merge. The tests pass. The images get built. The releases get made. And yet something is gone, and I think the people who notice it are going to spend the next few years trying to explain to people who don't why that matters.