Non-technical folks generating code with AI and assuming it's perfect is just an extension of an existing unfair situation: good engineering is invisible. *Preventing* issues (good architecture, good project hygiene, some amount of future-proofing, etc) is a thankless, artifact-less job.
I will never tire of linking people to this article analyzing a scene of Superman II (1980) to explain what it calls the "Preventable Problem Paradox". It's a beautiful illustration.
Because of patterns like this, I think AI code generation *can* be beneficial, but only by *people who already know what they're doing* and can use it as an accelerator, and then have the discernment to judge whether the solution is right. As a sort of a boilerplate/template generator.
People without that critical understanding are doomed to appear efficient when "vibe coding", but while creating a sea of preventable problems. Useful? Perhaps. Better than the alternative? I'm not so sure.
@zeh Something I was reading recently was talking about the team cost of this kind of code too - where others are now tasked with reviewing this generated code, the the person who "wrote" it may not even be able to answer questions about it. I've seen that already on my teams.
@bit101 Yeah. I've seen issues like that pre-AI - where junior members of a team I was leading would "solve" a problem and I had to go back and explain why that would backfire down the road. Even with some technical understanding, it was hard for some of them to understand the implications.
I can only see that exacerbated now. Making seniority (for review, direction, etc) even more necessary. But my fear is that it'll still be invisible. Seniors might be seen as blockers to progress?
@zeh Great article. I just shared it with two teams at work. Thanks.