| type errors, scope issues, import resolution, dependencies.
I write code myself and use the LLM to find mistakes then fix them manually. I recommend inverting the conventional wisdom on LLMs:
1. Don't use it to write code. It's a terrible
programmer. But it's an intelligent rubber duck
and a solid analysis tool.
2. Write the code yourself. It'll go faster than
figuring it out as you go along. It's just typing
if you have a plan.
3. Use an LLM to sanity check what you wrote.
It can find potential design issues or future
problems or breaks from convention. Decide based on
your experience how much you want to address these
issues before moving on.
Is this as fast as AI writing the code? Not at first but possibly over time. Maybe faster. Certainly better quality.
Plus you don't lose any of your skills in the process.
You're still doing the gruntwork necessary to keep your skillset.
And the token cost is a small fraction of what it takes to get LLMs to write good code.
> Don't use it to write code. It's a terrible programmer.
I see this sentiment often, and I’m honestly not sure where this comes from, as it’s really not been my experience. I feel like this must come from people feeling threatened and just moving the goals posts, or not knowing how to use the tools effectively.
> I see this sentiment often, and I’m honestly not sure where this comes from, as it’s really not been my experience
If you see people saying it often, but you are convinced they are just feeling threatened, what AI generated software would point to to say, "Look at this! Definitive evidence that they are just coping!"
Well, for one thing, I’d point to all the other anecdotes of developers being made 10x more efficient due to LLM use.
But really I’m just comparing against my personal experience. Once I learned how to use the tools well, and what to expect (and what not to), I’ve found LLMs to be very powerful.
>If you see people saying it often, but you are convinced they are just feeling threatened, what AI generated software would point to to say, "Look at this! Definitive evidence that they are just coping!"
This is a trap. Anyone who answers this will see the goalposts being moved yet again.
95% of our code at a top in market global fintech is now written by agents. We make it write good code, and it does.
I see your sentiment quite often here on HN¹, I'm honestly not sure what kind of experience you may have had with automatic program writers. LLM code absolutely sucks.
1 - I wonder why my other social circles are so different.
I am really curious about this because my experience is completely different. Can you elaborate a bit more on how you use LLM's for coding? Are you doing one-shot coding? Vibe coding (not looking at code)? Small focused one-step-at-a-time with yourself verifying? Anything else?
It's a mistake to let AI write code unsupervised by a human. I tend to let it write code and then iterate on it. Sometimes myself (because explaining would take longer than actually doing it) sometimes I prompt the AI to improve specific points.
30+ years of experience here writing everything from JIT high-performance compilers to professional game engines to mission critical biz servers:
Claude Code is excellent at writing (C++) code. Especially multi-threading code. However I still need to verify everything because it will occasionally make mistakes.
I don’t consider myself an expert, but I’ve been programming for the last 6 years, and of those 6 years I’ve spent almost all my spare time programming during this period except for a 1 year hiatus.
This includes personal projects with a decent amount of users, and 1 sold project. I’m not the best programmer, but I wouldn’t say I’m bad at all.
Question to you, have you actually used a leading model like Fable when it was available? I did. I was seriously impressed.
I’ll be honest I find it hard to take anyone seriously who says they can program better or faster than a model with those capabilities. That has not been my experience.
Architecting - yes people are still better overall. LLMs tend to go with the average middle of the road result. But in terms of output, raw speed, and getting something working? No way am I better than an llm.
Happy to be enlightened and told I’m completely wrong. Maybe I am an idiot. That is a possibility.
But how about I give you a task, and I give Claude that same task, and we compare results against execution speed? I’ll happily be the judge of that.
People are generally bad at judging themselves, and for some reason even worse about judging their agents' output.
I've heard a million people say their LLM workflow produces amazing code. But I have never actually seen the amazing code allegedly being produced. Where are the people saying "I love when my coworkers send me AI-generate PRs"?
that’s like saying a book is only worth reading if each sentence is beautiful
To me I couldn’t care less as long as the overall story is coherent, and I care more about the idea density in the book.
Lord of the rings is a great book because of the ideas, not because Tolkien is the best writer ever.
Same with AI. I couldn’t care less if some of its code is crap, if it is dense with ideas and generally good execution. If it writes crap code sections I can “beautify” myself.
Plus LLMs are only going to improve… they have improved so much since ChatGPT 3. It’s insane.
And the arguments saying they haven’t can’t be taken in good faith
So can just copying from Stack Overflow, or taking from Open Source repos
There have always been reasons why we didn't prefer to do that in the past, but I guess laundering it through LLMs is fine. And that's just the tip of the ethical ice berg
High volumes of unvetted code is a bad practice. If the code winds up working out fine then congrats you won the slot machine. It's still a bad practice and very, very stupid to become reliant on
And by the way, I had been programming for longer than you have before I even graduated high school, if that matters
One of the things I've started doing is to write the high level scaffold myself, create stubs (with comments) and have it fill out the details. I haven't done this for long, but I feel like my mental model of the code rots less, and I can review code faster.
I used to do this in the past, when these models were not all that capable, now there is a huge temptation to leave everything to the model. But long term I lose track of whats going on, and have a hard time even communicating with the model about the changes I want. Just a total decay of my mental model of the system, and it's really hard to recover from that state.
I like to start out by creating the overall structure of my application: the module structure, high level components, feature boundaries. That way these decisions are already made for the LLM, and it can focus on filling in logic within the structure provided.
It works quite well for me, a lot better than when the LLM makes these decisions.
Definitely agree. And once you factor in the review time + time spent fixing LLM bugs, I'm pretty sure this inverted process is actually faster than using the LLM to write code
I write code myself and use the LLM to find mistakes then fix them manually. I recommend inverting the conventional wisdom on LLMs:
Is this as fast as AI writing the code? Not at first but possibly over time. Maybe faster. Certainly better quality.Plus you don't lose any of your skills in the process.
You're still doing the gruntwork necessary to keep your skillset.
And the token cost is a small fraction of what it takes to get LLMs to write good code.