Earlier quoted context omitted.
Engineers partly did this to themselves. The career advice during that time period was to change jobs every few years, demanding higher and higher salaries. So now, employers don't want to pay to train entry-level people, as they know they are likely going to leave, and at the salaries demanded they don't want to hire junior folks.
This is only because companies don't want to raise salaries as engineers' skill levels increase. If companies put junior employees in higher salary bands as their skill levels increase there wouldn't be a problem.
An employee who does not do the effort to re-peg their labor time to market rates for their skill level is implicitly consenting to a prior agreement (when they were hired).