Comment by assimpleaspossi
18 hours ago
I find it strange to see people writing articles like this as if everyone has used AI for decades. I've programmed for decades. I thought I retired three years ago but got an offer I couldn't refuse. Already there were little things I'd forgotten how to use.
Over the past six months I tried using Claude, chatgpt, Grok and Gemini. At best I got reminders of how things worked. People online say they use them to write their code. The code they supplied to me has NEVER worked or was so convoluted that I threw it away and did it myself.
At most, I use these tools as search engines. Even then some references are poor.
I'm starting to think this is becoming a sad, sad world and AI is just the new TV of the programming world.
> The code they supplied to me has NEVER worked or was so convoluted that I threw it away and did it myself.
For me, it's like reading prose with "Not X, not Y, just Z": it's technically correct, but grates like fingernails on a chalkboard.
I have real trouble sometimes, reading what SOTA (Fable, etc) generate - no isolation or partitioning at all.
The worst was the planning an AI does. When I plan something, it'll be split according to data structures "An object to hold this, an intermediary for the obejct to talk to ORM, a serialiser for it that does this", etc.
The "plans" from SOTA are sometimes just hilarious. It'll go "phase one, implement these user-facing features. Phase two, implement those user-facing features", etc.
That's not a plan, it's an aspiration! A roadmap maybe. A plan, in my way of working, is a blueprint of where all the data goes, with algorithms connecting them. With AI, the data is incidental, the algorithms are incidental, only the goal (in the form of tests) remain. It'll work out some spur-of-the-moment idea around data at the time of writing.
So yeah, I do what you do and throw their stuff away. Currently having more success laying down a skeleton manually and then asking them to add a single feature at a time.
That's with SOTA models as of September-26-2026.
I think part of the problem -- answering all of why people are somehow OK with this, and even why the AI does this in the first place -- is that the majority of software developers never got to the point of understanding any of this: the lack of understanding how to carefully structure data surrounds a question they don't even know how to pose, much less answer, and so "write some tests then incrementally try to make them work without breaking any of the existing tests" is the only way they know how to develop at all. In the end, that means that, with the current state of the art (which might change, of course... potentially quickly), your strategy of treating the AI as a junior engineer who fundamentally isn't ready to do your senior-level architecture job makes a lot of sense.
Just reading this there appears to be 2 problems.
1) The size of task the AI has been given to do appears to be too big, which is why it looks like a roadmap/aspiration. You can ask it to implement a single feature or even a single part of a feature. Just keep cutting the size of the tasks until you become comfortable with it.
2) You like plans in a particular way following data structures/data etc. have you actually told the models this. It doesn't magically know. For the record the fact that the models focus on the end behaviour covered with tests is the way to to it imo. The actual implementation is less important and can be refactored as you wish fairly easily with the AI with the tests ensuring the feature still works.
I do agree though that the current SOTA models are very keen to just implement absolutely everything straight away without explaining/exploring properly. You can customise it fairly easily by using the various skills/agent/claude files to remember your preferred workflow, imo the agents adhere to theses better than they used to even just a few months ago.
With Claude and Codex, you can specify exactly how you want the plan and code to be researched and written. That goes into your rules file. (Claude.md etc). Also, make them read the existing code so they can follow the patterns.
i'm using LLMs/GenAI to do one thing: write unit tests.
since i really don't follow the idea of "writing unit tests first", i implement the feature, test as a user, and then use LLMLs to write the basic unit test. then, i will write more tests to make sure i'm covering everything.
feels like an ok-ish compromise because LLMs can do some ok job with defensive code, while i maintain the main implementation and more advanced test scenarios.
My experience was similar to yours, upon till earlier this year. Now the code which comes out of Claude code is acceptable most of the time.
It usually takes me two or three iterations to get there though. Discussing design and principles before writing the bulk of the code is a must. And then a pass or two of review to weed out ugliness.
Still saves time compared to writing the code by hand. Especially for tricky things, where type checking and tests can verify correctness.
>It usually takes me two or three iterations to get there though.
That's the whole problem with AI imo and I think the slot machine analogy is mostly right. It's just not predictable whatsoever and then you won't even be able to review all of the thousands of lines of code that you generate. You never know what you get and this has some serious safety implications that are not acceptable. Yes, it's fine as chat to just generate some snippets here and there that can be easily reviewed. Agentic coding is horrible imo.
> It usually takes me two or three iterations to get there though. Discussing design and principles before writing the bulk of the code is a must. And then a pass or two of review to weed out ugliness.
Am I crazy, or hasn't it been this good for a very long time? The ability to get code out of it after correcting it, correcting it, specifying and respecifying, instrumenting and reinstrumenting, reviewing and demanding refactoring, "no not like that", etc. has been there (for me) nearly from the start. They're great when you're working on something you're not an expert at, and fine if you're working on something that you are pretty good at (if you like to have a cheerleader that sometimes trips and falls on her face.)
My problem is that they don't understand some things that are very clear, and after you've corrected them to get them on track, you're exhausted. You put all of those corrections into a file for them so that when they make the same mistake in the next session you won't have to wrack your brain correcting them, then they a) ignore the file, or b) make a bunch of spurious objections because they were all ready to object and the saved response killed all of the content of those objections. They still seem remarkably dumb.
>>after you've corrected them to get them on track
They all still insist on serving bash code for FreeBSD where bash is not native. I've had to correct them all this whole year and they apologize profusely but, the next time, still use bash.
Note: you can install and run bash on FreeBSD. It's just not in the base installation or usage and I do not use it there.
1 reply →
The phrasing makes it sound like you are using them through a chat interface. Have you tried something like Claude Code? The real value only starts materialising once it has sufficient access to your environment.
I find LLMs are a hit&miss. Can be great at rewriting a function from lang A to lang B. Fails completely at a refactor. Great at coming up with a bunch of networking hosts/IPs to test a particular func. Fails when doing simple validation. Great for prototyping an alternative UI but not even remotely production ready. Always confident regardless of whether the result is correct or false. Run it three times with same query get 3 different results etc. Plenty of claims online how people have become a 1000x developer but 0 actual examples of working code in production. Given they're stochastic by design all of this makes sense in a way.
There's no clear path moving forward. Overreliance on LLMs means your knowledge will exponentially decay and you will absolutely crash any future tech interviews becoming unemployable. Not using it for some quick wins feels wasteful. Finding balance between the two extremes in addition to all existing software development woes is really hard.
Did you set up context? Did you run it in existing code base? Do you have linters, unit tests?
I have JIRA mcp wired up I tell agent to pick up the ticket it makes a feature. I review PR deploy to test server click happy flow through.
It works for me and company I work for. There is a world of difference between using Claude Code, Cursor configured properly and just using copy paste code with chat interface.
I am always baffled by how people take their experience as „this is ultimate truth”.
>I am always baffled by how people take their experience as „this is ultimate truth”.
People are just recounting their experiences. It’s true my first experiences were all terrible with AI, I’m still just getting to a workable experience. It’s better when it can iterate a bit, that hides the fact that the first pass might have hallucinated junk that is smoothed over in subsequent passes.
As a follow up I also tried running AI on a bastard child project - it took all the bad practices that were there.
When used in projects with good practices it was writing good code.
You would probably be surprised by how many jobs require that you use AI - I even had an interview where it was strongly encouraged to use it during the technical phase. I guess what I’m getting at is, for many people this isn’t really a choice.
> Over the past six months I tried using Claude, chatgpt, Grok and Gemini. At best I got reminders of how things worked. People online say they use them to write their code. The code they supplied to me has NEVER worked or was so convoluted that I threw it away and did it myself.
I've been finding AI either works great for people or is just awful, and I'm having a hard time pinpointing where the problem is. I don't think there's a big intelligence gap between us, so it's not like others wouldn't be noticing the things you're claiming when using AI. I genuinely believe your experience has been bad, but the part I'm trying to figure out is why it's been bad.
So my questions are: have you given things a fair shot? Have you tried turning things on its side to see if approaching AI usage a different way results in significantly better and more useful results? Do you actually put thought into what you're writing in your prompts (i.e., if I took your prompt and gave it to a junior dev, would they know what to do)? Are you just using the free models available online or do you have a dedicated integration into your development environment through Github Copilot or other vendor(s)?
I mean what I'm about to say with zero offense, but this honestly reminds me of how the elderly generation says, "technology doesn't work for me because it's always broken", and when you go and try to coach them on how to use the technology that's problematic for them, it's as if you're casting black magic.
I don't think AI is the second coming of Christ or that we're anywhere near AGI, but I do believe it's an extremely useful tool that people should be using.
> At most, I use these tools as search engines
I mean, that's why it's not writing good code then, since if you're not using it with an actual harness then it can't read your current code and contribute. Also there is a huge gap between models made more than 1 year ago now versus today's models.
Would you mind disclosing what type of software you work on?