First, at the moment, CS degrees are about as worthless as toilet paper.
When I graduated from High School everyone said get a degree in CS, that is where it is at, and to some extent that is true. But having to have a CS degree was not.
I graduated from the University of Kentucky in 1992. It took me 6 years to work my way into a decent paying job programming and not once was I asked if I had a degree.
Then all the certifications started coming out from the different vendors, Microsoft, Novell, etc...
Companies did then start asking if I had any of these certificates and began to hire these over those who had gone to college.
On top of all this Computer Science is a strange breed for a professional field. This is because we actually work with our hands when we are finished.
The professional world is not ready to recognize a profession that gets as involved in our work as we do. I asked a Electrical Engineer instructor in college if we were going to have a chance to apply what we were learning by physically building circuits. He said, "You man this is a University not a trade school.".
Another problem in our field is it is not easy to see the actual results of our work. This I believe has caused most management in Corp. USA to think that what we do is easy.
Every company I have worked for when it came time to show profits the first out the door were the IT folks. The average IT job is around 3 years and that is basically what my career has been and every company I have worked for I rose to be the most senior engineer, architect and even manager due to my accomplishments many involving NASA projects but when it came time to go there was no consideration as to how it would affect the company. As I said we are not looked upon as peers.
Another problem CS has is the fact that when you earn your degree you do not have to get a license like 99% of the other professions you would go to college for.
Personally my children will not go into this field they will go into one that requires a license to practice.
I spent 6 years in school. My brother skipped college and he and I make about the same amount of money programming.
When you think about hospital equipment think about how the Engineer had to have a license to build it but the programmer did not have to have a license to program it.
Think of all the fields that are not even considered professions by definition in relation to college that require a license. Real-estate, Contractors, Barbers and so on.
Then I could go into how quickly the field changes and I know I have spent more time being educated that a Medical Doctor probably 3 times over.
So my advice, if you want a sustainable career, is to go into a field that requires a license to practice it.