It's not for everyone (I love it but tons of people say there's no way they'd want to program their whole career), but it's the ultimate flexible/work remotely job. Hours are flexible because you don't ever need to be in front of a customer at a specific time and there is sooo much demand. I tell all young people I know to at least take an Intro to Computer Science (CS101) class and at least rule it out as not the thing they want to do, because if you do happen to like it, the earnings per year/dollar spent on college ratio is probably higher than any other degree out there.