Companies are wailing that they cannot find workers with the right skills to fill some 5 million job openings. Stop wailing. Hire some likely young guys (and girls). Run 'em thru a training course, on company time and on payroll. Flunk out a few losers, and in a few months you have all the new skilled workers you might need.
But, after we spend money on training them, they quit and go to work for our competitors. That mean you aren't treating them right, not enough pay and benefits, or an unpleasant work environment (dirty dingy shop, nasty foremen, crummy hours, and other things)
The public schools need to teach the three Rs, reading riting, and 'rithmetic. It's unreasonable to expect them to teach CNC machining, vapor reflow soldering, digital signal processing, use of logic analyzers, operation of bulldozers and backhoes. This sort of specialized state of the art technology must be taught by industry, not public high school. Let the schools teach fundamental things of use anywhere and let companies teach their special technologies.
Judging by the corporate whining about lack of suitably trained workers, I don't think many American companies understand this.