Earlier quoted context omitted.
How so? Programming is unprecedented in it's power for upwards class mobility. We're just scratching the surface. But it's the only thing we have that: a) doesn't require a lot of resources to make a meaningful contributions (access to a computer and the internet) that could land you a really good job. b) it's probably the only industry that doesn't requires formal education. Case in point, only one person at my comp…
On the other hand, if you have two shitty jobs to make ends meet, how to program and contribute to OSS after that? There are cases. But most probably are survivorship bias. I would bet, most current IT professionals have a at least lower middle class background. If I take a look at my company, that at last rings true. Not sure about the US, though.
I don't quite understand why people seem to think success doesn't require sacrifice anymore. You can either sacrifice your time and money for a more streamlined education and get a college degree or you can sacrifice a lot of your time and take a risk to self-educate.
There's really no middle ground and both strategies can land you a job if you're good, but becoming good always requires effort and some sacrifice.