3 ms·
I share Nelson's belief that we can conquer the rampant complexity in modern software applications. I'm generally in favor of the approach he's advocating for -
by eandre 7y ago
I share Nelson's belief that we can conquer the rampant complexity in modern software applications. I'm generally in favor of the approach he's advocating for -- working to understand the layers of the stack rather than treating them as a black box.
That said I can't help but feel that the problem is a missing abstraction. As computers and the internet grew we did a lot of experimentation, learned from it, and came up with abstractions to help us conquer higher-order complexity through chunking.
But for cloud-based software today, creating a "simple" (in terms of business logic) backend API requires an insane amount of moving parts and complexity to have it up and running, but there is no underlying abstraction that offloads this complexity from the engineer writing the business logic. It's as if the people writing business logic were hand-crafting IP packets, but instead of juggling bits we're juggling build pipeline definitions and Kubernetes yaml files.
We need higher-order primitives for writing software.