> If we had a union we would be training people from customer support to engineer

This, to my knowledge, very rarely works.

> software would be improved immensely if all developers spent a few years doing tech support for the elderly

This, on the other hand, absolutely does.

I've worked with several excellent people in my career who progressed from customer support to QA to QA engineer to software engineer.

It's not common though, and I don't think it's a case of "training". Some people have the drive to figure that path out, and those people should be encouraged and supported.

> Some people have the drive to figure that path out, and those people should be encouraged and supported

Totally agree. I don’t think that means institutionalizing that pipeline is likely to yield those folks. They’re rare.

> This, to my knowledge, very rarely works.

Strictly a function of management quality and experience.

Not everyone is interested in programing. Some people are amazing at customer support and super extroverted and seek out jobs where they interact with customers and would be miserable looking at code all day. The opportunity should be there, but some people are just never going to be engineers. Management quality can't fix that.