game developer is hardly surprising.
The two are looking at different parts of
the elephant.
And what does the video game industry
look for in its technology hires? As much
as anything, video game companies are
in the market for people with strong
programming skills. At the 2007 conference on Innovation and Technology in
Computer Science Education (ITiCSE) in
Dundee, Scotland, keynote speaker Chris
van der Kuyl, Scotland’s leading entrepreneur in the video game industry, assured
his audience that the greatest single factor
limiting growth in his sector is a shortage of
programming talent.
That any segment of the industry
might be starved for programming talent will likely come as a surprise to
someone who sees programming as a
soon-to-be-obsolete skill. “
Programming? Who programs?” Andriole asks,
with rhetorical flourish. The answer, of
course, is that millions of people around
the world are productively engaged in
precisely that activity.
Contrary to the impression Andriole creates in his column, there is no
evidence that the demand for highly
skilled software developers is declining.
The agencies charged with predicting
employment trends expect a substantial increase in employment for people
with software development skills. The
Bureau of Labor Statistics, in its December 2007 report Employment Projections:
2006– 16, identifies “network systems
and data communications analyst” as
the single most rapidly growing occupational category over the next decade,
with “computer software engineers, applications” in fourth place on that same
survey. This data is hardly suggestive of a
job category in decline.
Employment projections are by no
means the only evidence of continued
demand for people with software development skills. Business leaders from
the top software companies routinely
cite the shortage of technical expertise
as the biggest stumbling block they face.
Consider, for example, the following remarks by Microsoft chairman Bill Gates
in a February 19, 2008 op-ed article for
the San Jose Mercury News: “Today, there
simply aren’t enough people with the
right skills to fill the growing demand for
computer scientists and computer engineers. This is a critical problem because
technology holds the key to progress,
and to addressing many of the world’s
most pressing problems, including
health care, education, global inequality and climate change.” Other industry
leaders—including Rick Rashid at Microsoft (see his column in this issue) and
Google founders Larry Page and Sergey
Brin—have raised similar concerns.
It is clear from such responses that
not everyone in the computing industry shares Andriole’s conviction that
traditional software-development skills
are no longer relevant. Even so, industry
leaders across all sectors nonetheless
have something in common: they cannot find enough people with the skills
they seek. Faced with a shortfall in the
hiring pipeline, it is perhaps natural
to argue that educational institutions
should stop wasting time on other aspects of the discipline and focus of the
skills that are just right for one particular environment. That argument would
have merit if there were an imbalance
between supply and demand, with too
many degree recipients trained for
some occupations while other jobs
went begging. That situation, however,
does not exist in the computing industry today. There is a shortfall across the
board, with not enough graduates to
supply any of the major subdisciplines.
The most powerful illustration I
have seen documenting the magnitude
of this shortfall comes from a talk presented by John Sargent, Senior Policy
Analyst for the Department of Commerce, at a February 2004 research
conference sponsored by the Computing Research Association (CRA). The
figure here combines the data from
several of Sargent’s slides into a single
graphic that plots statistics on degree
production against the anticipated annual demand for people with those
degrees. As you can see from the left-most set of bars, the projected annual
number of job openings for engineers
is approximately two-thirds the number of bachelor’s degrees produced
each year. The situation in the physical sciences is similar at a somewhat
smaller scale. In biology, by contrast,
the annual number of job openings
is only about 10% of the number of
bachelor’s degrees. This situation
suggests an oversupply that allows for
increased selectivity on the part of employers, who are unlikely to hire biologists without advanced degrees.
The bar graph for computer science
at the right of the figure, however, reveals an entirely different situation. According to projections from the Bureau
of Labor Statistics, the number of job
openings for computer science exceeds
the number of people receiving bachelor’s degrees by almost a factor of four.
Even if the industry were to hire every
computer science graduate it would
still have to look elsewhere for most of
its new hires. That, indeed, is precisely
what is happening. According to data
presented by Caroline Wardle of the National Science Foundation at the CRA
Snowbird conference in 2002, less than
40% of employees in computing-related
jobs have computing degrees—a figure
that stands in dramatic contrast to most
other disciplines in which a degree in the
field is part of the entry requirements. It
is not that employers prefer candidates
without formal training, but simply that
there are nowhere near enough qualified graduates to satisfy the demand.
The problem that we face in computing education, therefore, is to increase
the number of students. We cannot do
that by arguing that only certain computing fields are worthy. The shortfall
exists across the entire field. We need
more students in each of the disciplines
identified by the Joint ACM/IEEE-CS
Task Force on Computing Curricula:
computer science, computer engineering, software engineering, information
systems, and information technology.
Andriole would have us abandon software engineering, despite the fact that
Money magazine recently put “software
engineer” in first place in a list of the
best jobs in the U.S. and despite the
fact that the Bureau of Labor Statistics
identifies “software engineer, applications” as one of the fastest-growing
job categories.
Unfortunately, one of the biggest
challenges that the ACM faces in its
efforts to increase student interest in
computing careers is precisely to counter the mythology about the dangers of
offshoring that Andriole perpetuates
in his column. His assertion that “
programming will ultimately…be generated
by relatively few professionals” largely
located in places like Bangalore, Moscow, and Shanghai validates the fears so
many high-school students express that
computing careers will vanish as software development moves overseas.