When code is cheap
A lot of the code being written right now isn't being written by humans. A model writes it, a human reads it (hopefully), and it ships. I use these tools every day, and I feel two opposite things about them that I haven't managed to square.
Full throttle
The first feeling is simply power. The distance between an idea and a working prototype has collapsed. A side project that needed a backend, a frontend, auth and a deploy pipeline used to take a month of evenings, now it takes one. The constraint is mostly how clearly I can describe what I want.
For someone who likes building, that's a strange kind of freedom. The limit used to be time and typing. Now it's closer to imagination, and to taste: knowing which of the hundred things you could build are worth building.
Where did the craft go?
The second feeling bothers me a little more. There was a craft to this job. Knowing a language well enough to write it idiomatically without looking anything up. Designing a data model that still made sense two years later. Chasing a bug through multiple layers of abstraction and solving it with a clever one-liner. Those skills took years to build, and a lot of the satisfaction of the work lived in them.
When a model can produce a passable version of most of that in seconds, some of the satisfaction goes with it. Everyone is shipping a lot of code, and more and more of it reads the same: competent, a little slop-y, and written by the same handful of models, depending on your token budget.
Harder to be impressed
It has gotten harder for me to be impressed by technical work. Someone posts a slick app they built in a weekend, or a compiler, or a game engine, and my first thought isn't "wow". It's "which model did they use?"
If something is impressive, shouldn't it be impressive regardless of how it was made? The app works exactly as well either way. Its users get the same thing.
I think the answer is that we were never only impressed by the thing. We were impressed by what the thing told us about the person who made it. A working compiler used to be proof of years of study, patience and skill. It was a signal that was expensive to fake. When the cost of producing the artifact drops, the artifact stops carrying that information, even though nothing about it has changed.
Calculators and chess went through the same thing. Nobody is impressed that a calculator can multiply two large numbers, but people are still impressed by someone who can do it in their head. Chess engines have beaten every human for decades, and people still watch humans play. In both cases, what changed was what the result said about whoever produced it.
What still says something about a person, I think, is judgment: picking the right problem, noticing when generated code is subtly wrong, knowing what to leave out.
The moat moved
I spend a lot of time thinking about markets, and there's a basic idea there that seems to fit. When something that used to be scarce becomes abundant, its price falls, and the value moves to whatever is still scarce.
Code is becoming abundant. If anyone can generate a working product from a description, then having built the product isn't much of an advantage anymore. The moat moves somewhere else, and as far as I can tell, it moves towards people.
Having an audience matters more than it used to: people who know you, trust you, and will actually try the thing you made. Distribution was always important, and somehow it's become even more so. You also need to understand those people well enough to know what's worth building for them, and you only get that by talking to them. Prompting doesn't help.
And the thing still has to work. A demo that looks right is easy now. Something that holds up when real people use it in ways you didn't expect still takes care, and I suspect that care is where a lot of the old craft ends up.
None of that can be generated. It gets built slowly, mostly by being someone other people want to hear from.
Where that leaves me
I don't think the craft is gone. I think it moved up a level, from how the code is written to what gets built, for whom, and how well it serves them. That's a harder craft to show off, and maybe that's the real loss.
I'm still working out how I feel about that. In the meantime I'm going to keep building at full speed, and try to put the time I save into the parts that can't be generated: figuring out who I'm building for, and building it properly.