slop /slɒp/ noun, uncountable, unfortunately
Software that was produced faster than it was understood.
“It passed review.” “Who reviewed it?” “It was a very large review.”
Slop advisory level: Elevated (it has never not been elevated)
Satire. Not a real agency.
Public information notice № 1
Software is now written faster than anyone can understand it. The Bureau of Slop Abatement asks all developers to remain calm, stay seated, and read the diff.
This codebase has gone
days with someone who
understands what it does
Previous record: 1 (day of the first commit)
*Fictional session. Invented rates. The growing gap is the point.
A short definition, so that everyone is alarmed about the same thing.
slop /slɒp/ noun, uncountable, unfortunately
Software that was produced faster than it was understood.
“It passed review.” “Who reviewed it?” “It was a very large review.”
Notice of correction
The Bureau invented all three of those numbers a moment ago. You did not check. They were large, they were tidy, and they agreed with you, so you nodded and kept scrolling. That is the entire mechanism by which slop enters a codebase.
Slop is rarely noticed at the time of infection. Most teams discover it months later, during an outage, from a customer.
PrognosisTreatable. Usually dismissed as “velocity”.
PrognosisSpreading. The codebase is now larger than the team’s memory of it.
PrognosisStable, in the sense that a landfill is stable.
Eight species every developer should be able to identify on sight. Each one is harmless alone. They are never alone.
Specimen 01
Exceptio devorata
try {
await chargeCustomer(order)
} catch (e) {
// ignore
}Specimen 02
Formatter quartus
formatDate(d)
formatDateNew(d)
formatDateV2(d)
formatDateFinal(d) // use this oneSpecimen 03
Commentarius obvius
// Increment the counter by one
counter += 1
// Return the result
return resultSpecimen 04
Abstractio praecox
class NotificationStrategyFactoryProvider {
// sends one email
}Specimen 05
Testudo ficta
mockDb.getUser.mockReturnValue(user)
expect(mockDb.getUser()).toEqual(user)
// ✓ 1 passedSpecimen 06
Defaultus optimisticus
// should never happen
const price = item.price ?? 0Specimen 07
Colloquium petrificatum
// Fixed the issue from the previous attempt.
// Now handles the case you mentioned.Specimen 08
Terra incognita
No sample could be obtained.
A pull request will arrive. Review it exactly as you would on an ordinary Tuesday. This is a drill. The real thing has more files.
refactor: small cleanup
+4,812 −37 · 61 files changed
A long diff scrolls past, faster than it can be read.
Time under review
You have one job. It is the pull request.
Form BSA-7. Tick every statement that applies. Answers never leave your browser, which is more than can be said for your API keys.
Certificate of exposure
0/10
Classification
Awaiting declaration
No boxes ticked. Either you are new to the industry or you did not read the form. Both are consistent with the findings above.
For display in offices, team channels and the pull request description of your choice. Free to share. Unlike most things on this page, they were reviewed.
Read
the
diff.
Somebody has to.
Bureau of Slop Abatement · killslop.dev
“LGTM” is not
a review.
It is a surrender with fewer letters.
Bureau of Slop Abatement · killslop.dev
It
compiles.
So does everything.
Bureau of Slop Abatement · killslop.dev
Is your merge really necessary?
Think twice before shipping 4,000 lines you have not met.
Bureau of Slop Abatement · killslop.dev
Know what
you ship.
Someone should understand the system. Ideally more than zero people.
Bureau of Slop Abatement · killslop.dev
Loose prompts sink ships.
“Make it work” is not a specification.
Bureau of Slop Abatement · killslop.dev
It did what
you asked.
Unfortunately, you asked it to “make it work”.
Bureau of Slop Abatement · killslop.dev
I declare
it reviewed!
You can’t just say “LGTM” and expect the bugs to leave.
Bureau of Slop Abatement · killslop.dev
After The Office
This could
happen
to you.
“The spec was not clear. Let me amend that.” The Machine
Bureau of Slop Abatement · killslop.dev
Look
both ways.
You are the documentation.
Bureau of Slop Abatement · killslop.dev
Safe to
remove.
No one could remember why it was there.
Bureau of Slop Abatement · killslop.dev
Everything
is green.
Warning lights were disabled to reduce noise.
Bureau of Slop Abatement · killslop.dev
Built
to spec.
Breathing was not in the specification.
Bureau of Slop Abatement · killslop.dev
Tested and
approved.
The test bridge was on the ground.
Bureau of Slop Abatement · killslop.dev
You are in
safe hands.
Each department assumed the other was holding him.
Bureau of Slop Abatement · killslop.dev
Follow
the manual.
The pit was added after the last update.
Bureau of Slop Abatement · killslop.dev
Temporary
solution.
Please do not move the chair.
Bureau of Slop Abatement · killslop.dev
Fully
automated.
Please feed the man inside.
Bureau of Slop Abatement · killslop.dev
Expert
assistance.
The parachute was described in considerable detail.
Bureau of Slop Abatement · killslop.dev
You once
were the
documentation.
But buses run on velocity.
Bureau of Slop Abatement · killslop.dev
Full
modularity.
Without the right context, the outcome becomes unpredictable.
Bureau of Slop Abatement · killslop.dev
50,000
is just
a number.
So are 100 lost customers.
Bureau of Slop Abatement · killslop.dev
Think.
We realise this was not in the estimate.
Bureau of Slop Abatement · killslop.dev
Accept all.
Find out.
Review it before your customers do.
Bureau of Slop Abatement · killslop.dev
It does
everything.
You just
approve.
You are still named on the incident report.
Bureau of Slop Abatement · killslop.dev
Understanding
isn’t for
everyone.
Unfortunately, you’re on call.
Bureau of Slop Abatement · killslop.dev
Look them
in the eyes.
Tell them you read the diff.
Bureau of Slop Abatement · killslop.dev
Fiction
is not
knowledge.
Tell your team.
Bureau of Slop Abatement · killslop.dev

Built onartificial
trust.
References have not been checked.
Bureau of Slop Abatement · killslop.dev
In context
we trust.
Terms and omissions apply.
Bureau of Slop Abatement · killslop.dev
50,000 lines.
One context
window.
Your instructions are somewhere in there.
Bureau of Slop Abatement · killslop.dev
Approved by
Schrödinger.
Contents presumed satisfactory.
Bureau of Slop Abatement · killslop.dev


Please study this card before take-off. Your nearest exit may be several refactors behind you.
More code will not help. More code is how you got here.
If no such human can be found, do not panic. This is now the most common configuration.
It will. Fluently, and at length. That is not the same as being right.
Then put that somewhere a person will actually look. Do this before the code: an old custom the Bureau is working to revive.
They are very good at it. They were never the problem. See § 1.
The Bureau is fictional. The problem is not. Neither is this part.
File BSA-8 · eyes only · yours will do
The people behind the Bureau are building a countermeasure: an actual developer tool, for teams who would like to keep understanding their software while the machines do the typing.
It is called . It works by , so that your team can without .
Further details are withheld, partly for effect.
Leave an address and you will get occasional updates: when it exists, what it is, and whether you can try it. Nothing else.
No drip campaign. No “just circling back”. No selling your address to anyone, including the Bureau.