Curious where others might stand.
My day to day “coding” is reviewing, revising and running plans against LLM/code-assistant tools. I juggle around 2-3 sessions of this on various features or tasks at a time.
Curious where others might stand.
My day to day “coding” is reviewing, revising and running plans against LLM/code-assistant tools. I juggle around 2-3 sessions of this on various features or tasks at a time.
I’m currently working on fixing stuff like this as an external consultant. Like OP, people confidently assumed the LLMs could handle writing the code.
Oh boy, were they wrong. As soon as the code was pushed to production, the entire stack collapsed.
Entirely possible I’ll eat crow and look back on this as a major mistake.
I think the issue would be with complacency. After reviewing so many changes it could be easy to say “eh - it’s probably good” and merge it. I don’t have confidence in it’s output the first, second, or third time.
I think another issue is if I was using it in a domain or something I wasn’t familiar with like hardware programming. That’d be a bit like the blind leading the blind.
One of the main problems I found was that AI would sometimes write code that looked good, was well documented and even worked flawlessly. But it would take 15-20 complicated lines to perform a task that happened to be a language feature and could have been done with a single function call.
Other times it would write code that appeared to work at first glance, and after a reasonable inspection also seemed good. Only after trying to re-write that task myself did I realize the AI had missed a critical but subtle edge case. I wouldn’t have even thought to test for that edge case if I hadn’t tried to design the function myself.
I’ve also heard someone else mention that AI will often rewrite code (often with subtle differences) instead of writing a function once and calling it several times. The AI code may look clean, but it’s not nearly as maintainable as well written code by humans.
I do have to admit that it is significantly better than poorly written code by overworked and underpaid humans.
All of this is ignoring the many times the code just didn’t compile, or had basic logic errors that were easy to find, but very difficult to get the AI to fix. It was often quicker to write everything myself than try to fix AI code.