My hypothesis is that the "problem" with programming is that it has too much upside potential: If you learn to program, have a couple more skills than just programming and can keep your wits about you, you can find lots of business and professional opportunities... most of which carry job titles other than "programmer". You move up to "software engineer", and then you become "manager of X" or "founder of Y" or maybe you're just "the guy who does Z" where Z is something that makes money for the company, like marketing or strategic research or manufacturing operations.
The most significant piece of code I ever wrote was written when my official job title was "product engineer", which kind of means "troubleshooter". My job title and description had nothing to do with software; software just happened to be what I did all day, every day, (not to mention a fair number of nights) in order to help make the company millions of dollars by finding manufacturing bugs more quickly.