The assumption that the number of "programming" jobs will increase over time or that the location or nature of programming work will not change challenges every assumption about the trajectory of change in the industry. Could Eric Roberts actually believe, as he said in his "Counterpoint" (July 2008) that the video gaming industry will create enough new programming jobs to offset the loss of opportunities in U.S. and global corporations that long ago yielded to the commoditization of software and the relentless march toward software delivery through installed and hosted packaged applications? It's clearly difficult for a $10 billion industry to replace a $200 billion industry.
Moreover, Roberts did not discuss my call (in my side of the debate) for greater emphasis on integration, interoperability, applications architecture, communications architecture, and data architecture. I was calling for innovation and design, not implementation. It appears that as programming continues to commoditize, even as it standardizes on quasi-open standards, the demand for architectural services will be huge. There is also demand for optimization and metrics identification and management that represents even more opportunities for computing professionals. I am talking about the relative need for software applications, design, development, and support, all of which are changing as a result of technological and market forces.
I have never advocated abandoning software engineering or declared programming "irrelevant." (I feel like a political candidate misquoted for the purposes of the opposing candidate's argument.) "Programming" must tilt toward architecture and design and stop assuming jobs will be available for professionals writing nonstandard, proprietary-extreme applications and that these jobs will yield to commoditization, standardization, and alternative software-delivery models.
Will there be a shortage of computing professionals? Yes, but why? Perhaps it will be the result of the mismatch between what we teach and what employers need. The data we've collected reflects the shortage of professionals who understand design, architecture, integration, interoperability, open standards, ERP/CRM/NSM implementation and support, and the ability to optimize standards and architectures for business value.
In July, I said that the world is changing and we owe it to our students that we change with it in the right directions. Here's a simple test: Gartner Group recently identified 14 alternative technology-delivery models, including business-process utilities, capacity-on-demand, communications-as-a-service, community source, grid computing, infrastructure utility, remote-management services, software-as-a-service, software streaming, software-based appliances, storage-as-a-service, user-owned devices, utility computing, and Web platforms. Are we educating our students in these areas? Do academic programs support these delivery models? We must be more relevant to the changing world off-campus.
My work as a consultant and venture capitalist has exposed me to software design and development in many industries, including niche markets like video gaming. But corporate computing across all vertical industriesand its providersrepresents professional opportunities for our students who later go to work for, say, Accenture, Cisco Systems, CSC, Deloitte, EMC, IBM, Intel, Hitachi, HP/EDS, Microsoft, Oracle, PWC, SAP, and Sun Microsystems. As the number of developers and providers shrinks through consolidation and commoditization (EDS is today part of HP; all major business-intelligence vendors have been acquired; and the number of hardware vendors continues to decline), opportunities for our students are changing dramatically. We need to prepare them, not stubbornly cling to the way things were.
Stephen J. Andriole, Villanova, PA
Stephen J. Andriole's "Viewpoint" (July 2008) began by saying "the assumption that the number of 'programming' jobs will increase over time...challenges every assumption about the trajectory of change in the industry." While this view may indeed challenge his assumptions, it does not contradict the available evidence. As I said in my "Counterpoint," the U.S. Bureau of Labor Statistics is projecting a dramatic increase in programming-intensive jobs from 2006 to 2016, to the point that two of the top five fastest-growing job categories over that time are "network systems and data communications analyst" and "computer software engineers, applications," both of which require significant programming expertise.
Andriole also said I misrepresented his arguments, in particular that he "never advocated abandoning software engineering." But he did precisely that, explicitly proposing the reduction of the five academic disciplines identified by the Joint ACM/IEEE-CS Task Force on Computing Curriculacomputer engineering, computer science, information systems, information technology, and software engineeringto "three flavors: computer engineering, computer science, and information systems." Software engineering is conspicuously absent. He also said he never deemed programming "irrelevant." Despite the fact that the word he quotedirrelevantnever appeared in my "Counterpoint," it is important to look at what he did say. Reading the paragraph that asks "Who programs?," it is difficult to believe that he sees much relevance in this activity.
Andriole missed my central pointthat every subdiscipline in the broad array of computing specialties is experiencing growth in demand. There are undeniably more jobs in computing that do not require sophisticated programming in the classical sense. What he failed to recognize is that there are also more jobs in computing that do require such talents. We must expand educational programs that focus on the IT areas he championed but not at the expense of more traditional CS programs that produce too few graduates to meet industry demand.
The most disturbing aspect of Andriole's comments is his charge that those of us in traditional computing disciplines are somehow jeopardizing the opportunities available to those newly entering the field. Each year, the CS graduates of my own institution [Stanford University] have extraordinary opportunities precisely because of the education they have received. Our bachelor's degree recipients get multiple offers, sometimes commanding salaries in excess of $100,000 per year. Providing students such opportunities is hardly a disservice. If we could somehow produce 10 times the number of CS graduates, they would get the same sort of offers. The demand for those with skills is strong and growing. Shifting our educational focus away from critically needed skills would be the height of irresponsibility.
Eric Roberts, Stanford, CA
In our article, "Information Security and Risk Management" (Apr. 2008), the notation for the expected value of a severe loss was incorrectly written as the expected loss conditional on the loss being severe. We thank Jonathan Katz of the University of Maryland, College Park, for bringing it to our attention. While we correctly defined the concept of the expected severe loss (page 65), the notation on the left-hand side of the second equation in the figure (page 66) was in error.
As in the article, let T denote the threshold value of a severe loss and X be a random variable representing the possible loss values. Let Y be a random variable representing a loss due to a severe breach. Then, the possible values of Y are zero, plus the values of X that are greater of equal to T. The probability of Y=x equals the probability that X=x for those values of X greater than or equal to T. Further, the probability that Y=0 equals the probability that X is strictly less than T. The left-hand side of the equation (page 66) should have been written as E[Y]. For the example given, the random variable Y can take on the values 0, 8, and 9 with probabilities of 0.8, 0.1 and 0.1, respectively. Then, E[Y] = 0*.8 + 8*.1 + 9*.1 = 1.7.
Lawrence D. Bodin, Lawrence A. Gordon, Martin P. Loeb, College Park, MD
As an IS practitioner and parent of three college-age sons, my perspective on the reasons for decreased IS and CS enrollment is a bit different from that of Wayne Wei Huang et al. in "Outsourcing and the Decrease of IS Program Enrollment" (June 2008). Although parents are a primary source of career guidance for students, they also derive their opinions from conversations with practitioners, as well as from news reports. The personal conversations are likely to carry much more weight than the news reports or the pronouncements of academic advisors who have a stake in selling their programs.
Many IS professionals today do not offer a very positive picture of the industry when asked about their own careers. The oft-quoted statistics concerning the relatively small number of outsourced jobs misses the point. Outsourcing has changed the image of the profession from valued corporate partner to commodity service performed by the lowest bidder. The change in perception affects every IS professional in organizations undergoing outsourcing and its associated layoffs; everyone worries their jobs are next. Following my own experience in the profession, none of my sons is pursuing IS or CS as a major, studying it instead only as an adjunct to other majors.
Until practitioners address the profession's image problem, academic programs will continue to have trouble attracting the numbers of students needed to maintain a healthy profession in the U.S.
Jack Bush, Watkinsville, GA
Both Peter J. Denning in "Voices of Computing" (Aug. 2008) and Rick Rashid in "Inspiring a New Generation of Computer Scientists" (July 2008) were right: There are too few computer programmers coming up, and we must go to the schools and recruit them. If students don't want jobs that pay upward of $60,000 annually, fine, there are plenty of people who need them and can be inspired to want them. Here are four ideas that could help recruit students:
Excitement of programming. Each of us can recall a program or system we developed that was exciting and that solved an important problem for our employer or client. Convey the excitement of programming;
A good life. Make the connection between well-paying jobs and a good life. Use images and videos to show the kinds of places where programmers can afford to work, live, and play. Tell students how they can give back to their communities but only if they have the wherewithal to do it;
Responsible for own success. Give students the tools they need to succeed. Lots of books explain what it takes to be a good student. Make sure schools have them, then get students to read them. Tell them the truththat while schoolteachers and administrators, boys and girls clubs advisors, church officials, parents, and others can help, you are ultimately responsible for your own success; and
Share with administrators. Talk over these and other ideas with school administrators before giving your own presentations, eliciting and trying to incorporate their ideas. They have a strong stake in your success.
Charles Elliott, Philadelphia, PA
Communications welcomes your opinion. To submit a Letter to the Editor, please limit your comments to 500 words or less and send to firstname.lastname@example.org
©2008 ACM 0001-0782/08/1000 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2008 ACM, Inc.