I would put it even more simply: just knowing Engineering isn't enough if you want to excel past a certain point, unless you're going to go extremely deep and become a subject matter expert in something (storage, hardware, etc). That is something most people are not going to do, because it requires dedication and to be extremely intelligent. Instead, you can go very far by understanding a job one "hop" from your own…
I think with less skilled labor the developer knows even less than they think.
Say the job is stacking boxes, you have an order 4 hours worth of heavy boxes and 4 hours worth of light ones. In software one is tempted to think there are 2 ways of doing the job. First order 1 then 2 or first 2 then 1. Push this button when order 1 is done!
It might not be humanly possible to stack heavy boxes non stop for 4 hours but it is definitely a bad idea. Thanks to the new software it's going to take 6 hours and cut the "resting" time (time doing light boxes) in half.