Even more problematic is this tendency to believe that in economically disadvantaged places like Oakland Ca, or St. Louis Mo. that teaching inner-city kids how to "program" is going to help but a very few of them. You may find people who are able to thrive as developers at random in any population, but the number will be small in any given collection of people. Teaching large numbers of people the basics, and especially if the language chosen is strongly typed, like Java, is just not going to get very far for most. Just because software development is glamorous doesn't mean everyone should do it, or even try. In my experience it requires a special set of skills and attitudes that in fact few people have.
I think that basic language literacy skills, very possibly using a computer, are more important for disadvantaged youth than programming skills, or that programming should be used as a tool in pursuit of another interest. So that if people can find self-expression in imagery, or graphic arts, or writing, they these come first and that programming be viewed as a tool that might aid that pursuit.
Finally, it must be said again that opportunity is based not on the needs people have in a Capitalist economy, but in the recognition by investors that funding a need of people is worthwhile. Since investment has run askew because of financialization and international investment, there is no one to one mapping of need with resources. There is some mapping but it hingers on the wisdom of investors, which is something that reasonable people can question.