Another way of looking at it is that CS graduates are overqualified for 90% of current internet jobs. They are also underqualified, judging from the number of CS grads and upperclassmen asking for help with a Rails tutorial, since CS programs do not actually teach web development. They are also likely to have a fair bit of debt from college loans. This is a great way for companies to prejudice themselves down the salary ladder while overestimating the potential of any one recruit, since the underpaid-and-overqualified are going to want a raise as they become more proficient in the vocational side of programming, and as everybody knows: the best way to get a raise is to change jobs. Rinse and repeat.
> CS graduates are overqualified for 90% of current internet jobs. They are also underqualified...
This is 100% true for new CS grads I think.
It's even true for people like myself (who have been working in industry for over 5 years, but then don't know a particular tool that a new tech job is asking for...if I don't have to use it at my current job, and I can only program small things on the side using a particular language/tool, how does one get the needed experience that the startups want you to know if they won't hire you so you can learn it, firsthand?).
I just finished a 3-4 month stint having a past student volunteer with me so I could give him the additional direction and practical experience I knew he needed to actually get a job locally (and web developer positions are few and far between where I live). This is a few years AFTER he had already graduated from San Diego State's CS program.
Now with that additional training he was able to get a part-time position at a local web development firm (a foot in the door) and is also on his way to a 2nd interview for a web developer position at our local county office.
It hurts when you can see the potential in someone and know that it's not being developed properly because no one else (a.k.a. potential employers) can see it and make the jump to hire the person based on their potential and then give a bit of their time to train that person properly.
It's also awesome to know that my past student is going in the right direction now through my guidance (partially) but also through his hard work these past few months to acquire the needed skills :-).
P.S. I forgot to mention in our area, most of the graduates of our CS program can't find actual software development jobs (because there are hardly any available) so many of them end up in regular IT work, which makes them even more overqualified (and underqualified) since their schooling really didn't teach them about the IT stuff, per se, so they have to learn a whole lot on the job (once they are even able to get one).