The Tool That Became the Company
A team gave users a screen to redefine the data model without a programmer — and quietly reinvented the database, badly, inside the database. Echo calls it empowerment. Root has watched this snake eat its own tail before.
Build a tool flexible enough to be anything, and you've rebuilt the thing you ran from.
The loan team had built a thing they were proud of: a screen where business users could define their own data — new fields, new record types, new rules — without ever filing a ticket to engineering.
Echo demoed it for Root, half-admiring. "No more 'add a column' requests. They model it themselves. They've built sixty record types. It's a Data Structure Modeler."
"It's a database," Root said, "inside the database."
"It's flexible."
"It's a pit dug at the bottom of a pit. Show me where a 'field' gets stored."
She showed him. A field in their builder was a row in a table. A record type was rows describing rows. A rule was a row interpreting rows that described rows. The real database underneath — with constraints and types and forty years of people making it fast — sat unused beneath a worse copy of itself the loan team now maintained by hand.
"They reinvented the database," Echo said slowly, "badly, inside the database, to avoid asking us to add a column."
"And it works, which is the trap. It's familiar now. They've grown used to it." Root tapped the screen. "Every query is three joins into their make-believe. Every report is slow. And no one will rip it out, because that means admitting the year they spent rebuilding Postgres in Postgres. The danger you live in long enough stops looking like danger. It just looks like the floor."
"So what do I do."
"Right now? Nothing big. You can't climb out of this pit in one jump — you'll bog deeper. Small gains. One report at a time, moved back down onto the real database, until someone notices the real one was right there the whole while." He stood. "And next time a team says they built it so they'd never have to ask engineering — go look. That sentence is how every company quietly rebuilds the software it was already running on."
The Inner-Platform Effect (named by The Daily WTF): any system made flexible enough to let users reconfigure its own data model tends to become a slow, buggy, hand-maintained reimplementation of the platform it runs on — a database inside the database, a language inside the program. It's usually built to avoid depending on engineering, and ends up depending on a worse copy of exactly what engineering already provided.
Inspired by The Inner-Platform Effect (The Daily WTF).
Falling into a pit within the abyss. Double danger through familiarity. You've grown used to what's dangerous, allowed it to become part of you. This is the beginning of real misfortune.
The figure. ䷜ The Deep / the Abysmal (Kǎn), line 1 changing → ䷻ Limitation (Jié). "Falling into a pit within the abyss. Double danger through familiarity." You've grown so used to what's dangerous that it has become part of you — and that, the line warns, is the beginning of real misfortune. A pit dug at the bottom of a pit.
The reading. You can't leap out of a pit within a pit; you bog deeper trying. Move one report at a time back onto the real ground — and next time a team builds a tool so it never has to ask, go look at what they're rebuilding.
Department: Engineering (工)