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.