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.

References:

Archives