We have frameworks to manage our frameworks. We have abstraction layers to abstract our abstraction layers. We write 500 lines of boilerplate to save ourselves from writing 50 lines of actual logic.
Optimistic software is fragile. It works beautifully in testing but falls apart under the messy, unpredictable stress of production. cynical software
Why? Because we are bored. We are bored of solving the same boring problems (CRUD apps), so we invent complexity to make ourselves feel smart. We introduce Kubernetes clusters for a blog that gets three hits a month. We implement Event Sourcing for a to-do list. We have frameworks to manage our frameworks
So next time an app asks you — for the third time — if you really, really want to leave? That’s not a feature. That’s an insult. Optimistic software is fragile