> 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.