Anyone who knows enough to even begin to think about doing anything about it, knows enough to not have the problem.
Making it just work is actually a hard problem. Codebases naturally get messy when big, and are born with ontology skew to the eventual ontology. Machines have to be operated with a conscious touch, and therefore the human has to interface with them.
Legacy systems, especially multiple. E.g. your poor printer is supposed to interface with a huge range of computing systems / your poor computing system is supposed to interface with a huge range of printers.
Sure someone could put a ton of effort into making the last mile smoother, but who’s incentivized to do that? The printer does the hard part of printing, what more do you want.
Relatedly, I often feel like I’m interfacing with a process that responded to every edge case with patching. I imagine this is some of what’s happening when the poor printer has to interface with a ton of computing systems, and also why bureaucracies like the DMV seem much more convoluted than necessary. Since each time an edge case comes up the easier thing is to add another checkbox/more red tape/etc, and no one is incentivized enough to do the much harder task of refactoring all of that accretion. The legal system has a bunch of this too, indeed I just had to sign legal documents which were full of commitments to abstain from very weird actions (why on Earth would anyone do that?). But then you realize that yes, someone in fact did that exact thing, and now it has to be forever reflected there.
Partial themes:
Anyone who knows enough to even begin to think about doing anything about it, knows enough to not have the problem.
Making it just work is actually a hard problem. Codebases naturally get messy when big, and are born with ontology skew to the eventual ontology. Machines have to be operated with a conscious touch, and therefore the human has to interface with them.
Legacy systems, especially multiple. E.g. your poor printer is supposed to interface with a huge range of computing systems / your poor computing system is supposed to interface with a huge range of printers.
Sure someone could put a ton of effort into making the last mile smoother, but who’s incentivized to do that? The printer does the hard part of printing, what more do you want.
Relatedly, I often feel like I’m interfacing with a process that responded to every edge case with patching. I imagine this is some of what’s happening when the poor printer has to interface with a ton of computing systems, and also why bureaucracies like the DMV seem much more convoluted than necessary. Since each time an edge case comes up the easier thing is to add another checkbox/more red tape/etc, and no one is incentivized enough to do the much harder task of refactoring all of that accretion. The legal system has a bunch of this too, indeed I just had to sign legal documents which were full of commitments to abstain from very weird actions (why on Earth would anyone do that?). But then you realize that yes, someone in fact did that exact thing, and now it has to be forever reflected there.