We are very happy with the students that we get from this university. . . . We just wish we could hire two to three times as many of them. — Bill Gates at Stanford, February 19, 2008 Computing and Competitiveness: Implications of the Programmer Shortage Eric Roberts Professor of Computer Science Stanford University CISAC February 4, 2009 Overview • Computing and information technology underlie much of the world economy and offer some of the best employment opportunities for college graduates in the United States today. • At the same time, student interest in these disciplines has plummeted throughout the developed world. The Computing Research Association estimates that computing enrollments in the United States have fallen by 50 percent since their peak in 2000. In many European countries, the decline has been even more severe. The decrease in student interest has, moreover, been particularly pronounced among women and minority students, reducing diversity as the pool shrinks. • Declining student interest in technical fields represents a serious threat to economic competitiveness at a critical time. The actions that developed countries take in response to this challenge will have a profound effect on the health of the world economy. The Changing World Order QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. The Challenge of Global Change QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. In a world where advanced knowledge 1) America’s talent pool is Increase widespread and low-cost labor by is vastly improving K-12 mathematics readily available, U.S. advantages in science education; theand marketplace and in science and technology have begun totheerode. A 2) Sustain and strengthen nation’s comprehensive commitment and to coordinated long-term federal basic effort is urgently needed to bolster U.S. research; competitiveness and pre-eminence in 3) Develop, retain top these areas.recruit, This and congressionally students, report scientists, engineers requested by aandpre-eminent from both the U.S. and abroad; and committee makes four recommendations along with 20 4) Ensure that theactions United that Statesfederal is the implementation premier place in the for policy-makers should take world to create innovation. jobs and focus new high-quality science and technology efforts on meeting the nation’s needs, especially in the area of clean, affordable energy: The Pipeline Paradox in Computing • The computing industry offers some of the best employment opportunities for college graduates in the United States today: – The number of jobs in the domestic software industry are at an all-time high and are projected to grow dramatically over the next decade. Employment (thousands) Top 10 job growth categories (2006-2016) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Network systems and data communications analysts Personal and home care aides Home health aides Computer software engineers, applications Veterinary technologists and technicians Personal financial advisors Makeup artists, theatrical and performance Medical assistants Veterinarians Substance abuse and behavioral disorder counselors 2006 2016 Growth 262 767 787 507 71 176 2 465 62 83 402 1,156 1,171 733 100 248 3 148 84 112 53.4 50.6 48.7 44.6 41.0 41.0 39.8 35.4 35.0 34.3 Source: U.S. Department of Labor, Bureau of Labor Statistics, Employment Projections: 2006-16, December 2007. Degree Production vs. Job Openings 160,000 140,000 120,000 100,000 Ph.D. Master’s Bachelor’s Projected job openings 80,000 60,000 40,000 20,000 Engineering Physical Sciences Biological Sciences Computer Science Sources: Adapted from a presentation by John Sargent, Senior Policy Analyst, Department of Commerce, at the CRA Computing Research Summit, February 23, 2004. Original sources listed as National Science Foundation/Division of Science Resources Statistics; degree data from Department of Education/National Center for Education Statistics: Integrated Postsecondary Education Data System Completions Survey; and NSF/SRS; Survey of Earned Doctorates; and Projected Annual Average Job Openings derived from Department of Commerce (Office of Technology Policy) analysis of Bureau of Labor Statistics 2002-2012 projections. See http://www.cra.org/govaffairs/content.php?cid=22. The Pipeline Paradox in Computing • The computing industry offers some of the best employment opportunities for college graduates in the United States today: – The number of jobs in the domestic software industry are at an all-time high and are projected to grow dramatically over the next decade. – Salaries for newly minted B.S. graduates in Computer Science are high, sometimes exceeding the $100,000 mark. – In 2005, Money magazine rated software engineer as the number one job in America. – Employment in this area is vital for national competitiveness. • At the same time, student interest in these disciplines has plummeted. The Computing Research Association (CRA) Google and Facebook are fighting hard to hire this year’s estimates that computing enrollments crop of computer science graduates, we’ve heard, andhave fallen by almost 50 ground zero is Stanford. Most of the class of 2008 already percent since their peak in is2000. have job offers even though graduation months away. Last year, salaries of up to $70,000 were common for the best students. This year, Facebook is said to be offering $92,000, and Google has increased some offers to $95,000 to get their share of graduates. Students with a Master’s degree in Computer Science are being offered as much as $130,000 for associate product manager jobs at Google. • Why this disconnect? The Need for Greater Understanding I have not seen a compelling narrative for the decline in student interest. — Bill Gates, Stanford University, February 19, 2008 • The failure of universities to produce a sufficient number of graduates with the necessary computing skills is now widely recognized as a crisis in both academia and industry. • Unfortunately, the underlying causes for the decline in student interest are not well understood. Although several theories seek to explain the decline in student interest, they do not provide a comprehensive explanation of student behavior. • These slides represent an early attempt toward developing a “compelling narrative” of the sort Bill Gates described during his visit to Stanford last year. That narrative is as yet a work in progress, and I welcome any comments and criticism. Why this Paradox? 1. The kind of exposure students get to computing at the elementary and secondary level tends to push people away from the discipline long before they reach the university. 2. Fears about the long-term economic stability of employment in the computing industry continue to have a profound effect on student interest in our discipline. 3. The image of work in the field—and, more importantly, all too much of the reality of work in the field—is unattractive to most students and no longer seems fun, particularly in comparison to other opportunities that bright students might pursue. Why this Paradox? 1. The kind of exposure students get to computing at the elementary and secondary level tends to push people away from the discipline long before they reach the university. 2. Fears about the long-term economic stability of employment in the computing industry continue to have a profound effect on student interest in our discipline. 3. The image of work in the field—and, more importantly, all too much of the reality of work in the field—is unattractive to most students and no longer seems fun, particularly in comparison to other opportunities that bright students might pursue. The Problem Starts Early The UCLA HERI study shows that students have already made their decisions before they reach university. Source: Higher Education Research Institute at UCLA, 2005 Computing Faces Huge Challenges in Schools • People who have software development skills command high salaries and tend not to teach in schools. • In many schools, computing courses are seen as vocational rather than academic. The NCAA has eliminated academic credit for all computing courses on this basis. • Students who are heading toward top universities are advised to take non-CS courses to bolster their admissions chances. • Because schools are evaluated on how well their students perform in math and science, many schools are shifting teachers away from computer science toward these disciplines. Those disciplines, moreover, actively oppose expanding high-school computer science. • Administrators find tools like PowerPoint more sexy and exciting. J • Computing skills in general—and programming in particular—have become much harder to teach. • Teachers have few resources to keep abreast of changes in the field. CS is Losing Ground • The Computer Science exam is the only Advanced Placement exam that has shown declining student numbers in recent years. Eliminated in 2009 CS Is Tiny Compared with Other Sciences Why this Paradox? 1. The kind of exposure students get to computing at the elementary and secondary level tends to push people away from the discipline long before they reach the university. 2. Fears about the long-term economic stability of employment in the computing industry continue to have a profound effect on student interest in our discipline. 3. The image of work in the field—and, more importantly, all too much of the reality of work in the field—is unattractive to most students and no longer seems fun, particularly in comparison to other opportunities that bright students might pursue. Myths of a Jobs Crisis Persist There is no shortage of evidence that people believe the myths about the lack of jobs and the danger of outsourcing. December 1, 2005 Blue Skies Ahead for IT Jobs BY MARIA KLAWE Contrary to popular belief, career opportunities in computer science are at an all-time high. We’ve got to spread that message among students from a rainbow of backgrounds, or risk becoming a technological backwater. All this talk about “Blue Skies” ahead just can’t hide the stark fact that Americans who don’t wish to migrate to India and/or some other off-shore haven are going to have a difficult career. Why would any smart American undergrad go into IT when companies like IBM and HP are talking of stepping up their offshoring efforts in the coming years? They want cheap labor, no matter the real cost. I have been very successful in IT, but I certainly wouldn’t recommend it today to anyone except people who are geeks. . . . Maria Klawe Harvey Mudd College I thinkPresident, the latest figures from the U.S. (at the at Princeton) Department oftime, LaborDean are not correct. Myths about Offshoring 1. All IT jobs will soon be outsourced to India and China. 2. Good IT workers will be easy to find in the new “flatter” world. 3. Companies will always seek the lowest-priced labor. The 2006 ACM report on Globalization and Offshoring of Software finds that even though offshoring of software has increased the number of computing jobs in India and China, it has also increased the number of jobs in the United States. Thus, at least in computing, globalization has functioned exactly as the theory of comparative advantage suggests. A Thought Experiment about Offshoring • Suppose that you are Microsoft and that you can hire a software developer from Stanford whose loaded costs will be $200,000 per year. Over in Bangalore, however, you can hire a software developer for $75,000 per year. Both are equally talented and will create $1,000,000 annually in value. What do you do? • Although the developer in Bangalore has a higher return, the optimal strategy is to hire them both. After all, why throw away $800,000 a year? • Any elementary economics textbook will explain that one hires as long as the marginal value of the new employee is greater than the marginal cost. The essential point is that companies seek to maximize return, and not simply to minimize cost. Industry Reports a Labor Shortage — April 28, 2005 Gates Cites Hiring Woes, Criticizes Visa Restrictions By David A. Vise Microsoft Corp. Chairman Bill Gates said yesterday the software giant is having enormous difficulty filling computer jobs in the United States as a result of tight visa restrictions on foreign workers and a declining interest among U._S. students in computer science. <tab>Speaking on a technology panel at the Library of Congress, Gates said a decline in the number of U._S. students pursuing careers in science and technology is hurting Microsoft in the short run, and could have serious long-term consequences for the U._S. economy if the problem is not addressed. <tab>“We are very concerned that the U._S. will lose its competitive position. For Microsoft, it means we are having a tougher time hiring,” Gates said. “The jobs are there, and they are good-paying jobs, but we don’t have the same pipeline.” http://www.washingtonpost.com/wp-dyn/content/article/2005/04/27/AR2005042702241.html And Various Data Seem to Agree Working in thethe lifepattern sciences requires a vs. degree in biology In160,000 computing, of typically degree production employment is Ph.D. 140,000 or some closely related field, but relatively few biology majors reversed. Master’s Employment (thousands) 120,000 end up working in the field. actually Bachelor’s Top 10 job growth categories (2006-2016) 100,000 Projected job openings 2006 2016 Growth 1. Network systems and data communications analysts 262 402 53.4 80,000 2. Personal and home in carecomputing aideslife sciences 767 1,156 50.6 • 39% 80% of workers the have have 3. Home health aides 787 1,171 48.7 60,000 degrees in computing. the life sciences. 4. Computer software engineers, applications 507 733 44.6 40,000 5. Veterinary technologists and technicians 71 100 41.0 20,000 6. Personal financial advisors 176 248 41.0 7. Makeup artists, theatrical and performance 2 3 39.8 Engineering Physical Sciences Biological Sciences Science 8. Medical assistants 465 Computer 148 35.4 62 84 35.0 9. Veterinarians •Sources: 14% 71% of graduates students with with degrees degrees in in the life Adapted from a presentation by John Sargent,counselors Senior Policy Analyst,83Department at the 10. Substance abuse and behavioral disorder 112 of Commerce, 34.3 CRA Computing Research February 23, 2004. sciences computing work remain in those inSummit, the fields. field. Original sources listed as National Science Source: U.S. Department of Labor, Bureau Resources of Labor Statistics, 2006-16, December 2007. Foundation/Division of Science Statistics;Employment degree data Projections: from Department of Education/National Center for Education Statistics: Integrated Postsecondary Education Data System Completions Survey; and NSF/SRS; Survey of Earned Doctorates; and Projected Annual Average Job Openings derived from Department of Commerce (Office of Technology Policy) analysis of Bureau of Labor Statistics 2002-2012 projections. See http://www.cra.org/govaffairs/content.php?cid=22. Sources: National Science Foundation/Division of Science Resources Statistics, SESTAT (Scientists and Engineers Statistical Data System), 1999, as presented by Caroline Wardle at Snowbird 2002. But There Are Contrary Arguments — January 26, 1998 Now Hiring! If You’re Young By Norman Matloff DAVIS, Calif—Readers of recent reports about a shortage of computer programmers would be baffled if they also knew that Microsoft hires only 2 percent of its applicants for software positions. Even among those applicants whom Microsoft invites to its headquarters for interviews, according to David Pritchard, the director of recruiting, the company makes offers to only one in four. <tab>You don’t have to be a “techie” to see that such a low ratio, typical for the industry, contradicts the claims of a software labor shortage. If companies were that desperate, they simply could not be so picky. http://query.nytimes.com/gst/fullpage.html?res=9E0CE6DF123BF935A15752C0A96E958260 Matloff argues that there is no programmer shortage. The only clear conclusion one can draw from the data is that companies perceive a shortage in applicants who pass their quality threshold. Variations in Programmer Productivity • In 1968, a study by Sackman, Erikson, and Grant1 revealed that programmers with the same level of experience exhibit variations of more than 20 to 1 in the time required to solve particular programming problems. • More recent studies2, 3, 4 confirm this high variability. • Most industry insiders believe that the productivity variance is even higher today. In 2005, Google’s VP for Engineering, Alan Eustace, told The Wall Street Journal that one top-notch engineer is worth 300 times or more than the average.5 1 2 3 4 5 H. Sackman, W. J. Erikson, and E. E. Grant. Exploratory experimental studies comparing on-line and off-line programming performance. Communications of the ACM, January 1968. W. Curtis. Substantiating programmer variability. Proceedings of the IEEE, July 1981. T. DeMarco and T. Lister. Programmer performance and the effects of the workplace. Proceedings of the 8th International Conference on Software Engineering. IEEE Computing Society Press, August 1985. G. E. Bryan. Not all programmers are created equal. In Richard Thayer, Software Engineering Project Management (second edition), IEEE Computer Society, 1997. T. Pui-Wing and K. Delaney. Google’s growth helps ignite Silicon Valley hiring frenzy. Wall Street Journal, November 23, 2005. The Microsoft Programming Personae Microsoft’s cultural lore defines three types of programmers: Mort is your most common developer, who doesn’t have a CS background, may even be a recent newcomer, and doesn’t quite understand what the computer is doing under the covers, but who writes the dinky IT programs that make businesses run. Elvis, more knowledgeable, cares about code quality, but has a life too. Einstein writes some serious-ass piece of code like device drivers, wants to get things done, needs to be able to go low level and high level, needs a language without restrictions to get his job done. — Wesner Moise, “Who are you? Mort, Elvis or Einstein,” September 25, 2003 http://wesnerm.blogs.com/net_undocumented/2003/09/who_are_you_mor.html For the most part, Microsoft (along with Google and other first-rank companies) are seeking to hire the Einsteins, which explains the low hiring ratio. Productivity Variations Are Common • The idea that individuals might differ in productivity by two or more orders of magnitude initially seems hard to believe. • In fact, such differences in efficacy and productivity occur across a range of occupational categories: – – – – – – Mathematicians Creative artists (writers, composers, poets, painters) Performers (musicians, actors) Motion picture directors Financial wizards, CEOs Professional athletes • No one achieves mastery in any of these fields on the basis of raw talent alone. Training and practice are essential. Alternative Models of Software Education In many creative disciplines, students learn from mentors who are masters of their craft. It may make sense to create “conservatories” for the teaching of software arts, similar to music conservatories. One possibility might be some sort of New England Conservatory of Coding. (Or perhaps a Hogwarts School for Software Wizardry.) Wizardry. SEMESTER AT C++ SEA Another model might be to create intensive programs that encourage students to focus on the art of software development, in much the same way that programs like the University of Virginia’s Semester at Sea program offers a concentrated immersion in oceanography, geography, and cultural anthropology. Paul Graham’s Hackers and Painters When I finished grad school in computer science I went to art school to study painting. A lot of people seemed surprised that someone interested in computers would also be interested in painting. They seemed to think that hacking and painting were very different kinds of work—that hacking was cold, precise, and methodical, and that painting was the frenzied expression of some primal urge. <tab>Both of these images are wrong. Hacking and painting have a lot in common. In fact, of all the different types of people I’ve known, hackers and painters are among the most alike. <tab>What hackers and painters have in common is that they’re both makers. Along with composers, architects, and writers, what hackers and painters are trying to do is make good things. http://www.paulgraham.com/hp.html Paul Graham (photo by Niall Kennedy) Why this Paradox? 1. The kind of exposure students get to computing at the elementary and secondary level tends to push people away from the discipline long before they reach the university. 2. Fears about the long-term economic stability of employment in the computing industry continue to have a profound effect on student interest in our discipline. 3. The image of work in the field—and, more importantly, all too much of the reality of work in the field—is unattractive to most students and no longer seems fun, particularly in comparison to other opportunities that bright students might pursue. The Real Image Problem QuickTime™ and a H.263 decompressor are needed to see this picture. http://www.youtube.com/watch?v=CmYDgncMhXw The Reality Is Also a Problem Has anyone considered the possibility that it’s just not fun anymore? —Don Knuth, October 11, 2006 • Students at Stanford have expressed the following concerns: – Long hours with little chance for a balanced life – A less pleasant social milieu than other occupations – A sense that success in programming is possible only for those who are much brighter than they see themselves to be – Work that is often repetitive and unchallenging, particularly when it involves maintaining legacy technology – Programming has become more difficult than it used to be – No chance for a lasting impact because of rapid obsolescence – Fears that employment with an individual company is dicey even though opportunities are good in the industry as a whole – Frustration at being managed by nontechnical people who make more money but are not as bright – A perception that programmers are definitely on the labor side of the labor/capital divide Dilbert Offers an Instructive Lesson Most students today would rather be Dilbert’s boss than Dilbert. Capital Labor Dangerous Trends We have met the enemy and he is us. — Walt Kelly • As an illustration of this trend, consider the following post that appeared on SIGCSE-MEMBERS on August 14, 2006: I have an idea for a panel that I’d like to organize for SIGCSE’07. I’m asking for volunteers (or nominations of others) to serve on the panel. The panel I’d like to organize would have a title something like: “Alternative Models for a Programming-lite Computer Science Curriculum” The theme of the panel would be to share ideas and thoughts on how we might reduce (or eliminate) the emphasis on programming within a computer science curriculum. The basic idea is to cause discussion centered on the knowledge and skills students of tomorrow will need in the global economic workspace and the implications for the CS curriculum. As more and more aspects of software development of “offshored”, what kind of curriculum would allow a student to be successful in the IT field? Industry Is Not Amused • Every technical person in the industry with whom I’ve spoken is horrified by the prospect of reducing the emphasis on programming in the undergraduate curriculum. • At an ACM Education Council meeting in September 2007, a panel of technical people from companies like Microsoft, Google, Amazon, and Boeing were united in their concern about the scarcity of competent software developers. I have summarized their position as “the computing curriculum is not nearly as broken as it seems likely to become.” • Employers in developed countries with high-tech sectors are desperate for more people with programming talent. In his keynote at ITiCSE 2007 in Dundee, Scottish entrepreneur Chris van der Kuyl said that the lack of programming talent was the greatest limiting factor in the industry. He called it coding. Programming Remains Central • Calls to “reduce or eliminate” programming from computing curricula arise from some undeniable assumptions: – There are more jobs in IT that don’t require programming. – Programming is not particularly popular with students today. – Offshoring of programming jobs has increased. • Unfortunately, this analysis ignores the following equally valid propositions: – – – – There are more jobs in IT that do require programming. Programming has historically been what attracts students the most. Globalization has created more IT jobs in India/China and the U.S. Offshoring exists largely because of a shortfall of skilled employees. What We Need To Do • Encourage the federal government to launch a sputnik-scale initiative to advance education in science and technology. • Press government and industry to improve computing education at the K-12 level, possibly through public-private partnerships. • Take creative steps to bolster both the image and the reality of work in the profession. • Make it clear to students (as well as faculty) that programming remains essential to much of the work in the field. • Emphasize the “beauty” of programming by focusing more attention on software as an art. The End