It says it will finish the code, it doesn’t say the code will work.
Also just because the code works, doesn’t mean it’s good code.
I’ve had to review code the other day which was clearly created by an LLM. Two classes needed to talk to each other in a bit of a complex way. So I would expect one class to create some kind of request data object, submit it to the other class, which then returns some kind of response data object.
What the LLM actually did was pretty shocking, it used reflection to get access from one class to the private properties with the data required inside the other class. It then just straight up stole the data and did the work itself (wrongly as well I might add). I just about fell of my chair when I saw this.
So I asked the dev, he said he didn’t fully understand what the LLM did, he wasn’t familiar with reflection. But since it seemed to work in the few tests he did and the unit tests the LLM generated passed, he thought it would be fine.
Also the unit tests were wrong, I explained to the dev that usually with humans it’s a bad idea to have the person who wrote the code also (exclusively) write the unit tests. Whenever possible have somebody else write the unit tests, so they don’t have the same assumptions and blind spots. With LLMs this is doubly true, it will just straight up lie in the unit tests. If they aren’t complete nonsense to begin with.
I swear to the gods, LLMs don’t save time or money, they just give the illusion they do. Some task of a few hours will take 20 min and everyone claps. But then another task takes twice as long and we just don’t look at that. And the quality suffers a lot, without anyone really noticing.
I was going to say. The code won’t compile but it will be “finished “
A couple agent iterations will compile. Definitely won’t do what you wanted though, and if it does it will be the dumbest way possible.
Yeah you can definitely bully AI into giving you some thing that will run if you yell at it long enough. I don’t have that kind of patience
Edit: typically I see it just silently dump errors to /dev/null if you complain about it not working lol
And people say that AI isn’t humanlike. That’s peak human behavior right there, having to bother someone out of procrastination mode.
The edit makes it even better, swiping things under the rug? Hell yeah!
I had a bit of a breakthrough with some personal growth with my code today.
I learned a bit more about entity framework that my company is using for a project, and was able to create a database table, query it, add/delete/update, normal CRUD stuff.
I normally work mostly on front end code, so it was rewarding to learn a new skill and see the data all the way from the database to the UI and back - all my code. I felt great after doing a code review this afternoon to make sure I wasn’t missing anything, and we talked about some refactoring to make it better.
AI will never give you that.
No, but it can help a capable developer to have more of those moments, as one can use LLMs and coding agents to (a) help explain the relationships in a complicated codebase succinctly and (b) help to quickly figure out why one’s code doesn’t work as expected (from simple bugs to calling out one’s own fundamental misunderstandings), giving one more time to focus on what matters to oneself.
TBH, it’s not really that great at that. Is average at best and grossly misleading and flat out wrong at worst. It may bring slight speedups for average development on boring legacy enterprise code, but anything really novel and interesting? Detrimental.
Most code on the planet is boring legacy code, though. Novel and interesting is typically a small fraction of a codebase, and it will often be more in the design than the code itself. Anything that can help us make boring code more digestible is welcome. Plenty of other pitfalls along the way though.





