I have seen people write highly complex code where all the complexity was not necessary. Think: deep unnecessary branching, pointless error handling and retries which make no sense in our context, hand-coded parsing using regexps, haphazard data flow, functions which seem purely computational but slyly make API calls, pointlessly nullable model fields, verbose doc comments which describe the implementation instead of the contract. I could go on.
The worst part is, even when "prompted" by bad coders, it works in the end. Even has tests (ostensibly mock-ridden, a pet peeve of mine which always falls on deaf ears). So I cannot reject the PR without being an asshole.
I am no luddite. I make heavy use of AI, with all the skills / AGENTS.md / style guides and clear specs, then review every line of code, prefer testing with minimal mocking. I'd even say with right prompting, it can write better low level code than me (eg: anticipating common error conditions).
But my biggest fear about AI is how it enables normies with little to no understanding of CS principles to produce code faster which looks correct but slowly poisons the codebase.
Talking to him, he told me he couldn’t even reverse a string. He is at once many times more valuable than ever before to his company, but also far more dangerous than ever before.
If you get the logs you can feed them in and ask for improvements, that sometimes helps.
This form of being "smart" is a bit difficult for me to comprehend, I must admit.
I strongly agree with this. Suddenly with the mass adoption of LLMs there are so many smart, yet naive people out there willing to toe the line. Why these smart people couldn't bring value in a million different other ways is, of course, left unsaid.
They're not even trying to dress up these bullshit stories anymore. In truth it doesn't matter if you believe it. So much buzz is people just talking to themselves out loud.
As others have elaborated, the problem is empowering them to ship mountains of bad code;
And yeah, many semi-technical M2s or even M1s can't distinguish bad code from good code, or worse bad architecture from good; this is golden time for those who are willing to sacrifice the future for present. Just burnnn'em tokenzzz.
I would've believed that 6 months ago, but not now.
If you have a good codebase with proper rails, hygiene and architecture, AI will produce better code than most engineers out there.
People forget that 90% of the field has always been charlatans barely able to implement a fizz buzz or go much beyond trial and error googling.
I'll say even more. I'm in the 10%, and it's increasingly clear to me that AI writes in minutes code that's better than mine.
Even stellar and respected OSS engineers are nowadays leveraging AI and guiding it less and less everyday beyond giving indications of what kind of data structure they may want for a complex problem or the kind of architecture they are looking for.
In any case, I don't like this field anymore, I have no joy from it, way too much work, way too many changes a human can cope with both on product and technological level (not even counting AI and its tooling itself). The interesting parts of thinking an entire afternoon or week experimenting to get that design right disassembling the pros and cons are gone.
Even if you want to do that, it's just faster to launch 6/7 worktrees with the different ideas and judge the results. But you don't get as intimate with the problem and the amount of information is way more than you can process.
AI: "I LEARNED IT FROM YOU, DAD!"
As Anthropic's drones say: treat Claude as your genius coworker. Don't think yourself, don't judge, the machine must know better than you. It is the genius, after all, not you.
Okay, so Ai is completely useless in my industry. Got it.
This is what I’m seeing, anyways. Junior engineers are being rewarded for shipping so much code, it’s impossible to evaluate it all, and subtle changes in existing patterns are slipping through. Eventually all those subtle changes transform the rails.
This means you take less time reviewing code than it took for the machine to churn it out. All that code must be a ticking time bomb.
This is a social problem that I had thought the industry had solved a long time ago.
> The worst part is, even when "prompted" by bad coders, it works in the end. Even has tests (ostensibly mock-ridden, a pet peeve of mine which always falls on deaf ears). So I cannot reject the PR without being an asshole.
Yes, you absolutely can. And you should. Try to teach them lessons and what patterns to watch out for, then tell them to put those insights in their CLAUDE.md, so that their agent becomes better, too. You can also tell them to just copy your own CLAUDE.md, like I did: https://github.com/codethief/ENGINEERING_PRINCIPLES.md
Stay strong!