| 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.
> Don't use it to write code
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.