But, in my opinion, it’s absolutely required for complex systems, and complex problems often need complex answers, despite the wish for simplicity (which can sometimes happen, but less frequently than people might think).
I had an online back-and-forth, the other day, with someone that didn’t seem to be able to grasp the fundamental concept (actually thousands of years old) that big things tend to be aggregates of lots of small things, so it’s a good idea to make the small things high Quality, as you go. It was interesting. One of those things that seems obvious, to me, but I guess isn’t, to a lot of folks.
It reminded me of that “Eat Less, Move More” SNL skit, where people can’t understand that eating less, and moving more, is a great way to lose weight. There must be some shiny tech, or popular book. You can’t simply take care in every little job, so the big ones work out.
I do think that the current lack of personal investment, by engineers, in their vocation, doesn’t help. When someone only stays at a company for a couple of years, or less, that’s enough time to do a half-assed job, but not enough time to be responsible for maintaining it. It incentivizes churning out a lot of shoddy work, quickly.
That’s not really the fault of the IC. The executives are the ones that establish the corporate culture, and retaining talent doesn’t seem to be high on anyone’s list, these days.