It's a major concern for us because we're a company that runs on people. Our hiring has continued to go up, but unfortunately what we're seeing right now is a decline in the potential supply.
From an employee's perspective, fewer people seeking jobs is a good thing. And, frankly, while having lots of graduate students to shovel code may help some university research, I'm not convinced that most of the system building that results is truly significant. Interesting, yes, even neat. But not likely to have any significant impact. University faculty should have their students' interests in mind when talking or writing about the job market, and I'm not sure we do when we talk of declining enrollment as a bad thing, or, even worse, a crisis. Declining enrollment is a rational response on the part of students to a significant drop in the job market.
The most common opinion is that enrollment swelled during the late '90s due to the dot-com bubble, when a CS degree was viewed as a ticket to wealth. Do we really want to fill our classes with students whose primary concern with CS is the money they think they'll make? Isn't it better to have fewer students who truly love what they're doing? It's certainly better to teach them, and I believe those are the people who will be happy in their chosen careers.
There are of course other potential reasons for the decline. For one thing, there has been a marked increase in enrollment in IT programs, which focus more on the nitty-gritty of running systems than on theory and design. To the extent that this allows students interested in computing not as designers but as more infrastructure-oriented team members, this is great. The challenge is to make an IT degree something other than "CS lite". The other major reason given is declining standards in mathematics. It's traditional for each generation to call the next a bunch of spoiled underachievers, and I don't know how much this is true here. From personal experience with my own children (in early elementary school, right now), I see pluses and minuses with the current educational system: a fair amount of structure and rigor with better integration of concepts such as algebraic thinking and logic on the one hand, but on the other a standardized-test-driven approach that basically means cramming the "gist" into the kids' heads just before the exams and then coasting for the remainder of the year.
There's a table in the article that illustrates very clearly what the demonstrable problem in the field is. It shows the percentage of freshmen expecting to major in CS, starting in 1990 with 1.7%, increasing to 3.7% in 2000, and then dropping to 1.4% in 2004. This seems like clear support for the thesis that there's trouble in River City. But, look at the breakdown for men and women: 2.3% to 6.5% to 2.8% for men and 1.1% to 1.4% to 0.3% for women). This is even more troubling when we recall that almost 50% of CS majors were women during the early to mid '80s. So, the problem isn't that too few freshmen want to major in CS -- the problem is that too few women want to.
What is repelling women (and we have to put it this way, because it wasn't always so)? Two hypotheses seem to be discouragement of young women from mathematics at an early age and the generally miserable reputation of the computing workplace. I can't comment on the former, other than to say that outreach and greater cooperation between computing professionals and K-12 teachers should help. The response to the latter seems to be "we need better PR". Again, Microsoft's Rashid:
You need to talk about the romance of the field. It's not all about people sitting in cubicles eating pizza and typing away endless hours on a keyboard.
There has always been a "macho" subculture of computer professionals who take pride in the number of hours they put in. The dot-com boom ingrained this into popular culture. Merely talking about how it's not "all" about endless hours behind a keyboard doesn't address the issue that this is still the expectation. I have a radical idea: how about Microsoft leading the way in instituting a real 40-hour work week? How about Microsoft getting rid of the practice of hiring "temporary" technical staff? They could corner the market on new graduates. I'm being naive, of course -- hiring lobbyists to get Congress in increase immigration quotas is much more cost-effective.