Satire

Nobody on This Team Needs to Know SQL

The ORM abstracted the database. The database kept running queries. Nobody told the database.

2026 Apr 222 min readleaky-abstractionsormdatabaseperformance

The engineering lead decides the team will use an ORM exclusively. The reasoning is documented in the architecture decision record: "developers should focus on business logic, not database mechanics." The Law of Leaky Abstractions is not referenced.


What Actually Happens

The application works correctly in development and staging. In production, with two million rows, a customer-facing report query takes forty-seven seconds. The CTO is notified.

The tech lead asks for the generated SQL. Nobody on the team has written or read SQL in fourteen months. They paste the query into a search engine. The ORM is producing a cartesian join across three tables because a relationship was defined without an explicit join condition. The database has been executing this query on every report request since launch. The abstraction did not know this was wrong. The developer who wrote the relationship did not know either — because the ORM had made the knowledge feel unnecessary.

The fix takes twenty minutes. The investigation takes three days.


Blocky· Senior Pragmatist

The ORM hid the SQL. The database kept running SQL. One of those things still mattered in production.

DivineForge Advisory

Recognise this pattern in your organisation? I help teams cut through the governance, make the right technical calls, and actually ship.

Let's talk architecture →

How a Builder Should Respond

Learn the layer beneath your abstraction before you rely on it in production. The ORM handles the common case. Your production incident will not be the common case. Treat framework knowledge as a ceiling on complexity, not a floor on understanding. When something goes wrong under load, the abstraction will not debug itself — you will have to.


This scenario illustrates the Law of Leaky Abstractions. See all 13 laws →

ShareXLinkedIn

Stay in the loop

New satire drops when the enterprise does something worth documenting. No spam — just the next article.

20 articles about enterprise dysfunction. None of it billable. Buy me a coffee.

Buy me a coffee