I think that in the area of system reliability, specifically, there's quite a lot of theory that's useful and often ignored by practitioners, though.
Saying you need to learn everything on the job is akin to cowboy system design. There's a lot of collective knowledge you should absolutely use when designing large systems, and ignoring that body of knowledge by assuming the only way is learning on the job is a mistake.
I believe not long ago, medicine was like that. Clearly, things can, and should, become more standardized and that will not in any way encumber the creativity that is also a big part of our field.