I believe that it is important to think about the environment you want to work in, then see what skills they ned (from want ads, for starters), make your own little spreadsheet tally, and go get the entry level skills for it. I think a college or university with the right courses, a dedicated (in reality) faculty who are NOT mostly "adjuncts", meaning they are full faculty members with offices and telephones, is the best approach, not crash courses, some fly by night tech school or distance learning for the novice. Give yourself all the human support and time to do it right and build a solid foundation of understanding to carry you through all the twists, turns, glitches and rude shocks of working in the profession, which is a high pressure one.
In today's marketplace, there has been and will continue to be a big layoff in the e-commerce sector, making for a very difficult and unstable and crowded competition to get and keep a job. This, too, will pass, but right now that's the reality. Real businesses use the internet and corporate intranets, too, and some knowledge of HTML, javascript (and web page generator software) or the variations and further developments of these (DHTML, XML, etc.) are necessary to one's employability and future. I think, though, that solid C++ and design and project management courses, for the big team projects, are what I would focus on as the best bet for stable employment, plus as many database courses as possible and some grounding in PC architecture and networking, what's going on under the hood so to speak.
Having been through the transition away from mainframes and being downsized out of the field because I was an MVS internals specialist for which there was no more market, I'd say pay attention to the economic trends within the computer industry. A good news source of that information, all in one vast site, is
which you can browse most of without commiting any dollars to full mebership. Right now telecommunications in the USA (not the rest of the world) is losing a lot of money from having put too much into R & D, the PC market has both supply problems and saturation problems in the USA, and the new frontiers are many, mostly coming from further miniaturization: wearable computers, limited operating systems to give users more control, remote control or whatever, over gadets, and the whole mixed up "interracial" marriage of different communications technologies: voice, fax, wireless, cable, etc. etc.
It's not all a pot of gold. Not too surprisingly, the manufacture of software is in process of moving to countries where highly skilled labor costs a lot less, like India. So being with some real company that is in anotherline of business as their resident customization, fix it, or network support purson is a better bet for the medium and long run than inventing the newest wheel for sale or joining a start-up e-business with stock options and temporary high pay until they don't get their next venture capital "fix" to go on with, and your stock options are worthless, quite literally. Technology is spreading its tentacles globally and most concentratedly in America, so in the long run a recession, if it comes to that, will be a temporary stall, a blip in the movement. But one does not get paid in the long run, rather biweekly or whatever.
Finally, patience and skill at writing and debugging code, good learning skills for constant change, a very good logical mind, and so forth are requirements of the field, but understanding your customer's actual problem and plans to use your software are more important to getting it right. Thus, communication in both direction, a good personality, slow fuse, ability to put techie stuff in plain English, a dash of real humility as a service person mixed with confidence that if you understand the need you can write code for it, and the ability to write memos about what you plan to do, and what you are doing now (progress and problems), and document what you have done are equally important to succeeding in the field, if you ever want to do more than follow someone else's specs, be they well thought out or not, and let them communicate for you. You do not want t operate inside a techie bubble, closed to the real world of your company.
End of sermon.