This essay perfectly encapsulates my own experience. My biggest frustration is that the AI is astonishingly good at making awful slop which somehow works. It’s got no taste, no concern for elegance, no eagerness for the satisfyingly terse. My job has shifted from code writer to quality control officer.
Nowhere is this more obvious in my current projects than with CRUD interface building. It will go nuts building these elaborate labyrinths and I’m sitting there baffled, bemused, foolishly hoping that THIS time it would recognise that a single SQL query is all that’s needed. It knows how to write complex SQL if you insist, but it never wants to.
But even with those frustrations, damn it is a lot faster than writing it all myself.
Trim your scope and define your response format prior to asking or commanding.
Most of my questions are "in one sentence respond: long rambling context and question"
The "no taste" thing is real when AI is in generate-for-me mode. It's trying to fulfill your request, and won't evaluate it unsolicited. But if you change the relationship and let it react to what you're building instead of building it for you, aesthetic judgment shows up immediately. It'll tell you something is ugly or overengineered or missing the point. The taste was always in the model, it just can't express it while it's busy being obedient.
This is the thing that gets me. The code compiles. Passes tests. So you stop reading it. Why wouldn't you.
Then three weeks later you're tracing some control flow that makes no sense and nobody knows why it's structured that way. Not you, not the model. I've been treating it like code from a contractor now, review every line same as a junior dev's PR. Gets tedious but the alternative is worse.
I’ve been treating it like a glorified autocomplete, or a glorified search and replace. Everything else is saxophone jazz when I’m writing for a string quartet: useful for inspiration, useful for understanding what isn’t clearly explained, sometimes it builds a decent first attempt, occasionally it gets shockingly close, but I’ve learned to never let my guard down. Go too far and untangling its slop becomes burdensome. Leave it to its own devices for more than a few rounds and it can become so unfixable it’s easier to start from scratch.