Architecture & practice·Design, structure and tradeoffs
the ORM hid the SQL right up until you had to read the query plan to fix a timeout.
Leaky abstraction
Also calledlaw of leaky abstractions
An abstraction that mostly hides the thing underneath, until the thing underneath misbehaves and you have to understand both. All non-trivial abstractions leak; the useful question is where and how loudly. It matters when choosing a tool because a leaky abstraction does not save you from learning what is beneath it, it only delays the learning to the worst possible moment, which is an incident.