Developers hate AI coding tools for the same reasons musicians dislike AI music and artists dislike AI art. Its the 'craft' problem as you say.
But an artist who values the end result over the craft is hardly an artist at all. They're a merchant at heart. The art is the product, and what excites them is shipping product.
For an artist at heart, however, the process is the product. Lucky for them, its about to become a lot more valuable.
It’s the personal experience of watching Claude Code fly off the rails. Could I spend even more on Claude and attempt to get it to half ass the review? I suppose. But it still my ass on the line when it all goes sideways.
It's not about solving puzzles for us, craft-focused developers. It's about caring about the clarity of our writing, for the same reason a writer wouldn't want an AI agent writing their book.
“Craft” vs “delivery” is a false dichotomy. Someone who is “delivering” needs to understand what they are delivering! How can you support vibe-coded cruft that you don’t understand? This is why tools like TypeScript exist; TS by itself adds little in terms of functionality or in “deliverables”, but it makes the code more _understandable_. It’s worth the time to invest in making sure your types are correct because it makes you think about constraints. There are no shortcuts.
> Craft-focused developers enjoy the process of writing code…
> Delivery-focused developers care about shipping products.
What the hell am I, then? I’m a craft-focused developer who cares about shipping products, and I like AI.
I find that AI doesn’t reduce my enjoyment of the craft. It reduces my need to type code with my fingers. I’m able to spend more time thinking above the code and put more time into getting a good design instead of getting something that just works. I’m not doing 100% AI generated code, though. I still find that there are lots of fiddly refactors that AI is too clumsy for.
I get the sense that most programmers don’t like to refactor. They enjoy the process of getting something working, but don’t like the process of making it good. To me, refactoring is the craft. That’s the part that I love. AI gives me more time for that.
I don’t think it’s a craft thing, I think it’s a speed thing. Senior engineers are faster in their existing workflows.
I’ve found ai tools most valuable for:
1. Quick “how to do x in y” language
2. Large scale refactorings that are mostly mechanical.
This still takes a bit of guidance to get the right output (and breaking down the refactoring an into multiple steps). But it does speed things up when I would touch 40-some files. I still review all the code.
Not sure about that. If you go online and post anything disparaging AI you will definitely get a lot of support and +1's but my opinion is that there's a lot of noise from non-developers in these.
As in make a blog post "AI deleted my code" or "AI is worthless and slows me down, here's a very singular and specific example where this is true" and you'll be re-shared across the web with downvotes to the reasonable followup questions of "Just revert?" or "Don't use AI in that specific scenario?".
In the real world talking to peers i hear; "it's really good for getting out the boilerplate", "it's great for refactors", "it's pretty good at writing tests", "it one shot the UI implementation". Etc.
As in i hear measured praise and measured criticism for it that you just don't seem to get online. I guess that's true of any topic but AI and programming is something i know enough about to see the unreasonableness of these extremes.
I'm wary of these "I don't use an IDE anymore, just chat with claude-code".
It's like playing a game of blindfold navigation and you need to direct somebody to get somewhere by shouting commands "go left, no, no go right, my right".
I do use claude-code, but you can't ditch the code editor because you got to tweak things here and there. It gets very time consuming if you rely on claude for small stuff also. Merely the roundtrip to apply some small changes through Claude can take longer than just go and edit the file.
I was hoping that AI would lead to a golden age of testing, with devs focusing on making the best tests possible to determine if the AIs writing prod code were correct. Devs leading AI to correct code.
Unfortunately, expecting the AIs to make poop and the devs to wipe their butts only came half-true.
11 comments
[ 2.4 ms ] story [ 33.3 ms ] threadBut an artist who values the end result over the craft is hardly an artist at all. They're a merchant at heart. The art is the product, and what excites them is shipping product.
For an artist at heart, however, the process is the product. Lucky for them, its about to become a lot more valuable.
It's not just about the craft. It's about understability, explainability and accountability.
> Craft-focused developers enjoy the process of writing code…
> Delivery-focused developers care about shipping products.
What the hell am I, then? I’m a craft-focused developer who cares about shipping products, and I like AI.
I find that AI doesn’t reduce my enjoyment of the craft. It reduces my need to type code with my fingers. I’m able to spend more time thinking above the code and put more time into getting a good design instead of getting something that just works. I’m not doing 100% AI generated code, though. I still find that there are lots of fiddly refactors that AI is too clumsy for.
I get the sense that most programmers don’t like to refactor. They enjoy the process of getting something working, but don’t like the process of making it good. To me, refactoring is the craft. That’s the part that I love. AI gives me more time for that.
I’ve found ai tools most valuable for:
1. Quick “how to do x in y” language
2. Large scale refactorings that are mostly mechanical.
This still takes a bit of guidance to get the right output (and breaking down the refactoring an into multiple steps). But it does speed things up when I would touch 40-some files. I still review all the code.
Not sure about that. If you go online and post anything disparaging AI you will definitely get a lot of support and +1's but my opinion is that there's a lot of noise from non-developers in these.
As in make a blog post "AI deleted my code" or "AI is worthless and slows me down, here's a very singular and specific example where this is true" and you'll be re-shared across the web with downvotes to the reasonable followup questions of "Just revert?" or "Don't use AI in that specific scenario?".
In the real world talking to peers i hear; "it's really good for getting out the boilerplate", "it's great for refactors", "it's pretty good at writing tests", "it one shot the UI implementation". Etc.
As in i hear measured praise and measured criticism for it that you just don't seem to get online. I guess that's true of any topic but AI and programming is something i know enough about to see the unreasonableness of these extremes.
It's like playing a game of blindfold navigation and you need to direct somebody to get somewhere by shouting commands "go left, no, no go right, my right".
I do use claude-code, but you can't ditch the code editor because you got to tweak things here and there. It gets very time consuming if you rely on claude for small stuff also. Merely the roundtrip to apply some small changes through Claude can take longer than just go and edit the file.
Unfortunately, expecting the AIs to make poop and the devs to wipe their butts only came half-true.