When I graduated from college (early 90s), there was still a lot of talk about how the old contract (you work for a company your whole life and they show you loyalty in return) was in decline. Truth is, it was probably in its last gasps. Now, I have a hard time thinking any 20 year old graduate would even think this arrangement exists in the first place. Young people still seem to have a few expectations ("I did everything I was supposed to do...", but I'd say the notion that going to college sets up for a good job is going extinct among recent grads).
This is an incredibly important distinction that is often lost between the boomers and millennials. Sure, Millennials may not want to work from 8-5, and that may make them look lazy to the older folks - but keep in mind, the stability of an 8-5 job isn't there for them.
If someone wanted a career in software back when I was in college, I'd have recommended that they study computer science or a related degree, work hard, get good grades, try to get an internship, maybe go to a good grad school, and show a lot of diligence on the job. That's still a reasonable way to go about it.
But now? My advice to someone looking for a software career is: write something! Got an idea? Implement it, get it on the web, try to get some users for it. If you don't have a good idea, talk with people, learn about other fields, see what people need and try to create it for them. It's cheap to fail, so fail fast and keep at it. I'm not saying you shouldn't major in CS or go to grad school - a lot of great hackers (by the standards I listed above) seem to take that path. But what I'd really recommend is recognizing that the instability you have inherited can be liberating, even if it means you'll have to deal with a lot more uncertainty in your life.
Funny thing is, it was there for me, too. I wrote all kinds of web apps in grad school, but I somehow couldn't wrap my head around the idea that they could be "real". I think PG mentioned this in an essay - when you open the door to a cage for an animal that has lived in captivity for a long time, it often takes a while before the animal realizes that it can leave. Maybe people are waking up to that now. Nobody's going to be delivering carrots and filling up your water bowl every morning anyway...