![[Notes on structured programming (Dijkstra)#^organizing-complexity]] ![[Senior cleaning Junior AI developers shit.png]] ## Problem Let's start by explaining what [[Source code|Code]] actually is: ![[Source code#^definition]] As you can see, the intention is to control the behavior of a computer, but the most important word is `eventually`. Code either works or it doesn't - and even if works, that doesn't mean it works as intended. The job of a dev team is to make sure that the code does what was intended (and prove it!), while also ensuring that future changes can be easily integrated into the existing code. That's why it is important that the code is easy for a human to understand. But in fact, one thing has changed since this approach was established - we are no longer the only ones who can manipulate code. AI can easily produce large volumes of code that... guess what... may **eventually** work. The problem is not the code itself. We have been dealing with that for a long time, especially during [[Code Review|code reviews]]. But today the pace of introducing changes has sped up, so we are often eager to approve changes without proper verification - and especially without checking whether future changes can be easily added. And this is what we can call [[AI Slop Code]]: ![[AI Slop Code#^definition]] But you can ofc say: > Hey, why should I care about the quality of the code if it works? The AI will eventually rewrite it. Yep - that just means you haven't been paying for tokens yet :) ## Index AI generates code instantly. Everyone is shipping faster. So why is quality getting worse? And more importantly, why should we even care? To explore this, let's look at four short stories: - [[Jinn.ai and three prompts]] - [[Debugging Principle in AI era]] - [[The Nitpicking Effect]] #integrate - [[Agent Smith unplugged]] ## Summary AI hasn't created a new problem - it's exposed how much the industry was already getting away with fuzzy requirements and weak validation, just at a slower pace where humans could catch mistakes through iteration and familiarity.