It is concerning how enggs are losing their grip on their systems. Not just on the low-level code, but on the end-to-end flow of their systems as well.
I think there are two reasons for this:
-
Everything is in a hurry now. We are constantly optimizing for faster delivery, so there is less time to understand how things actually work.
-
We are moving towards higher-order abstractions. What could have been 5 well-documented steps explaining how things work is now abstracted away into poorly maintained skill files.
Btw, abstractions do not eliminate complexity. They just move it somewhere else.
So when a rare and complex issue shows up, it takes relatively longer to understand, diagnose, and fix the problem.
The happy path got faster. Yay! But failure path got longer. And that is a tradeoff we are not talking about enough.