Systems Design
The Hidden Cost of Abstractions
Why every layer leaks eventually, and why backend engineers should care.
Abstractions are how we build systems larger than one person can hold in memory. They compress detail, name a useful interface, and let teams move without re-solving the same problem every day.
The cost is that compressed detail still exists. Network calls fail differently from local function calls. ORMs do not erase query plans. Container limits do not remove memory pressure. A queue does not make work disappear; it changes where waiting happens.
Good engineering is not anti-abstraction. It is abstraction with an escape hatch, a mental model underneath it, and enough instrumentation to notice when the layer below starts speaking through the one above.