Devs Wrote Slop Code Long Before AI Did
Why is this CodeQuality meme funny?
Level 1: The Messy Room Defense
A kid's room has been a disaster zone for years — clothes on the floor, toys everywhere. Then the family gets a robot helper, the robot leaves a few toys out, and suddenly the kid is outraged: "Look at the mess this robot makes!" The grown-up in the doorway just raises an eyebrow, because everyone remembers what the room looked like last month. The joke is about pointing fingers at the new arrival for a mess we made ourselves — it's funny because deep down, everybody knows whose socks those are.
Level 2: What "Slop" Actually Means
Vocabulary for the debate this tweet is wading into:
- Slop code: code that works (mostly) but is sloppy — duplicated logic, no tests, misleading names, error handling that consists of
catch (e) {}. The term AI slop originally described low-effort AI-generated articles and images, then migrated to code as assistants like Copilot-style tools became standard. - LLM coding assistants: AI tools that suggest or write code from natural-language prompts. Their output is statistically plausible, which is exactly why subtle wrongness slips through review.
- Code review: the human checkpoint meant to catch slop. The dirty secret referenced here is that reviews were often rubber stamps ("LGTM") long before AI — so the safety net people claim AI is bypassing was already full of holes.
- Hot take: a deliberately provocative one-liner. The tweet's format — large text, zero hedging — is engineered for the quote-tweet wars it obviously started.
The early-career takeaway: when you inherit a horrifying legacy file, run git blame before assuming an AI did it. Odds are excellent it was a human in 2014 with a deadline. The lesson isn't "quality doesn't matter"; it's that quality has always been a process problem, and tools just change the speed at which the process fails.
Level 3: Git Blame Has Receipts
One sentence from Arvid Kahl (@arvidkahl), verified account, Subscribe button and all:
Devs are acting like they didn't write slop code before AI.
That's the whole image, and it's a precision strike on the most self-flattering narrative in the current AI slop discourse. The prevailing complaint goes: LLM coding assistants flood codebases with plausible-looking, barely-understood, unreviewed code, degrading craft that was previously upheld by diligent artisans. Kahl's counter is the git log. The industry that now clutches its pearls about machine-generated mediocrity is the same industry that built its foundations on copy-paste from Stack Overflow (famously including the accepted answer's bugs), // TODO: fix this properly comments old enough to vote, 4,000-line God classes, and entire production systems whose architecture document is the phrase "it grew organically." Technical debt wasn't invented in 2023; Ward Cunningham coined the metaphor in 1992 because the problem was already universal.
What makes the take sting rather than merely snark is the kernel of mechanism underneath it. Slop has always been an incentive output, not a tooling output. Deadlines, demo-driven development, "we'll refactor after launch" (narrator: they did not), promotion cycles that reward shipped features over deleted lines — these produced human slop at scale long before a transformer ever autocompleted a for-loop. The honest version of the AI critique isn't "machines write slop and we didn't"; it's "machines removed the rate limiter." A tired human could only produce so much questionable code per day. An LLM produces it at tokens-per-second, with confident docstrings. Same failure mode, industrialized throughput — which is arguably more alarming, but you can't get there while pretending the baseline was clean.
There's also a quieter jab at DevCommunities dynamics: identity-protective memory. Craftsmanship discourse spikes precisely when a new tool threatens status. The senior who learned by shipping horrors now frames the horrors as a rite of passage, while the same output from a model is contamination. Kahl, a bootstrapper who has audibly shipped pragmatic code to pay rent, is puncturing that selective memory from inside the building.
Description
A screenshot of a tweet from Arvid Kahl (@arvidkahl), a well-known indie hacker and bootstrapping author, shown with his verified profile photo on the left and a black 'Subscribe' button in the top right. The tweet text, in large black type on a white background, reads: 'Devs are acting like they didn't write slop code before AI.' The post skewers the current discourse around 'AI slop' in codebases by pointing out that low-quality, copy-pasted, barely-reviewed code predates LLM coding assistants - developers have always shipped slop; AI just industrialized it. It lands as a critique of selective memory in the AI code-quality debate
Comments
18Comment deleted
AI didn't lower the bar for code quality - it just automated the part where we blamed the previous developer
That's basically the reason why AI does this that much. Comment deleted
Well the only difference is now it's not me getting paid for the slop Comment deleted
Do not confuse my divine shitcode with measly ai slop Comment deleted
Yeah, we used to call them "Indian developer" Comment deleted
ai - actual Indian Comment deleted
I thought it changed to African Intelligence Comment deleted
😁 In that case, AI slop has been the norm for decades 😁 Comment deleted
shitty coders are the nr.1 thing I complained about in IT before LLMs got big. do not mistake my disdain for AI as approval for organic shitcoders Comment deleted
sometimes it feels like I'm the only quality-focused webdev in the whole industry Comment deleted
the Elm people seem to care at least a little Comment deleted
elm? Comment deleted
elm! Comment deleted
"No Runtime Exceptions" sounds like a bad idea Comment deleted
nope. fine idea depending on requirements. some systems better die than deliver wrong result. some systems better stay alive and just do nothing when behavior is of unexpected class. Comment deleted
You can build a fault tolerant system in a language using exceptions and a system that doesn't tolerate faults in a language that uses errors as values or type system errors Comment deleted
haha jiggly logo Comment deleted
people learn from their mistakes AI learns people's mistakes Comment deleted