In 2001, we launched this column because ACM was interested in tracking the evolution of the computing profession and wanted to explore ideas of potential value to the professional. Let us take stock of where we have come in the past decade and what it means for you.
In the late 1990s, ACM leaders realized the computing field had matured to the point where members were becoming interested in ACM support for their professional activities. ACM wanted to assure itself that there is a deep community need and adequate depth in the existing organization. We asked: Is there a need for a computing profession? What will it be called? What are its components?2
We argued from first principles that professions form when considerable expertise is needed to take care of people's enduring concerns in a domain. This is plainly true of long-standing professions such as health and law. Computing has become such an integral part of business and everyday life that the reliable operation of ever-advancing computing technologies is an enduring concern. Considerable expertise is needed to properly address this concern. Thus, a profession must inevitably form.
ACM already had considerable depth in professional activities in the various specialties covered by the SIGs. Other professional societies hosted professional groups around other specialties, and corporate universities were offering certifications in some occupational specialties. We counted over 40 organized professional groups and inventoried them in three categories: IT core, IT intensive, and IT occupations (infrastructure). Table 1 is the inventory with a few additions that account for changes since that time. Although the table is not exhaustive, it clearly shows the breadth and depth of the field. Several new specialties that appeared since then are shown in bold type.
At the time, IT (for information technology) seemed to be a broader term than computing, and thus the label "IT profession" seemed to be a good umbrella for all the professional activities listed in Table 1.
In a remarkable 1996 study, Gary Ford and Norman Gibbs laid out a map of the essential elements of a mature profession3, and validated their map against a number of existing professions including health, law, and architecture. Their purpose was to lay out a path to maturity for the software engineering profession. Their map is summarized in Table 2.
Let us define certain terms used in the map and in our subsequent discussions. A profession is a community of practice that forms to take care of people's enduring concerns in some area of life or work. A professional is a member of that community who renders service to clients of the profession. Knowledge refers to the organized body of knowledge that professionals rely on. Practice refers to the skills displayed by professionals at various levels of competence as they render service. Practicing professionals are often called practitioners.
It is important to note that the elements of the map are not the point of the profession; service to clients is. The map elements are the means.
It is useful to define three other terms. A craft refers to a set of practices shared by a community of practice, but it has no special social status. Wood crafting and programming are examples. A trade refers to an organized group of practitioners, such as a guild or labor union, with restrictions imposed by society in return for freedom to practice for the benefit of society. At this time, there are no computing-specific trades. A discipline refers to a field of study and research that provides knowledge. Chemistry and computer science are examples. Professions include crafts and trades and rely on one or more disciplines. Disciplines are concerned intellectual knowledge, professions with performance and practice.
The term information technology has not achieved the all-encompassing character we once envisioned. Today, IT refers mainly to technology and business applications of computing. Computing is now the preferred umbrella term.
As a sign of the field's continued vitality, several important new specialties have appeared. These include cyber security, cloud computing, network science, and Web programming. We expect expansion of the computing profession to continue.
Certification is becoming more common, mainly at the sub-profession or specialty level. A growing number of computing jobs require specialized certifications such as Microsoft or Cisco network engineer. Many organizations, including the U. S. Department of Defense, now require that cyber security personnel have the CISSP certification (certified information systems security professional). The American Society for Quality now certifies Software Quality Engineers via their CSQE program, and the IEEE-CS certifies Software Development Professionals through their CSDP.
Licensing of professionals has proceeded more slowly. Licensing has begun to appear in engineering specialties of computing, where concerns for health and safety are strongest. Computer engineers have been licensed in the U.S. for several years. Software engineers have been licensed in Canada, Australia, and Great Britain for some time. In the U.S., the NCEES (National Council for the Examination of Engineers and Surveyors), with considerable technical help from the IEEE-CS, is developing a licensing examination for software engineers in response to a request from 10 states. ACM has generally not supported licensing and has taken no official position on certification.
Starting in 2002 there was a sharp drop worldwide in the numbers of students enrolling as majors in computing disciplines. This was a great puzzle to computing leaders because demand for computing professionals in the job market was (and continues to be) very high. That concern led government agencies, such as the National Science Foundation in the U.S., to support programs to generate more student interest in computing in colleges and universities. Much of the concern over the educational pipeline has shifted to the K12 arena, because most high school students have no access to any computing course, serious problems with the unpopular Advanced Placement curriculum have led to its cancellation, and budget shortfalls have blocked computing from being added as a new program.
ACM has built an impressive array of programs that support computing professionals. It spent a lot of money to scan the entire ACM literature, back to its founding in 1947, into the Digital Library. It has entered extensive licensing agreements with businesses and consortia so that almost all employed professionals have access to the Digital Library through their employers. It has enhanced the Digital Library with individual favorite folders and technical reading packs. It has sponsored more conferences for practicing professionals. It created the Profession Board to watch over the interests of professionals in ACM. It created more publications for practicing professions, mostly notably Queue and its new linkage with Communications. It created the online publication Ubiquity to explore the future of computing and the people who are inventing it. It has cooperated with IEEE Computer Society and others in joint programs for professionals, notably curriculum and accreditation guidelines.
We noted previously that most of the certification and licensing activity has been focused on sub-professions of computing. So too, most of the growth in bodies of knowledge, codes of ethics, education, and training programs has been in specialties. This is similar to what has happened in other professions. The health profession is a good example. That profession has established conventions, standards, core knowledge, and common terminology for the whole profession. Most health certifications and training programs focus on specialties. Nurses, doctors, and technicians get accredited degrees in their fields, and then obtain certifications and training for the specific specialties in which they practice.
What can we learn from analogies to medicine, architecture, and other professions? It is striking that each profession has its own unique model. The medical profession, the engineering profession (which overlaps with the computing profession), and the architecture profession have very different solutions to the elements in Table 2. Computing has not developed good solutions to all the elements in Table 2 because it has not settled on a model or paradigm for itself. If history is a guide, this will not be an easy path. The interdisciplinary character of computing and its overlap with and use by so many other professions will require a degree of nimbleness that may be unique among professions. As we work to build our profession, we can set our sights on some of the characteristics of the most admired professions, which will surely include: well defined and widely accepted terminology and core knowledge; an infrastructure that keeps the various parts of the profession aligned and reasonably consistent with each other; and, ultimately, a structure that the publicwhom we servewill grow to respect, admire, and count on.
Neville Holmes in his Computer magazine column, the counterpart of this column, has raised a number of issues worth noting.4 He is concerned that we do not seem to have standard definitions of key terms in computing such as data, information, computation, programming. Further, he postulates, with some grounding, that many practitioners do not care about being identified with a profession. He is concerned about practitioners who believe their programs are the end products of their work; as professionals, they should be concerned with their clientshow the program affects clients goes on long after the program is delivered. Are computing practitioners non-professional if they have such an attitude? Should we be instilling a sense of professionalism in our students, regardless of their specialties?
All the above looks like it would be interesting to organizational leaders looking to build useful professional society programs. But what about the "ordinary practicing person?" Why should you pay attention to this?
Writing in the Chronicle of Higher Education, Kevin Carey, the director of education for a Washington, D.C., think tank, gave a beautiful answer to this question.1 He himself started out to join the computing profession and became a good programmer. But his true interest turned out to be bringing computing to the education of young people. The practice of programming gave him a discipline of precision and conciseness that has helped him in his current profession. He says, "I left computer science when I was 17 years old. Thankfully, it never left me."
A particularly insightful benefit of Carey's computing knowledge was how it enabled him, as an employee of the Indiana state-budget office, to help rewrite Indiana's school financing law to make it substantially simpler and easier to administer. Seeing it as similar to a large program that had grown too hoary with age, he "sat down, mostly as an intellectual exercise, to rewrite the formula from first principles." Many other laws and government structures could benefit from such an approach.
Even if you do not have a professional certification, you are probably operating in an environment where you have customers with various concerns around computing. You have the expertise to help them and you want to help them. You want to conduct yourself ethically and provide benefits to society as well as your clients. In short, you want to be a professional. We hope the map we have outlined here can help you find the services to assist you doing these things.
1. Carey, K. Decoding the value of computer science. Chronicle of Higher Education (Nov. 7, 2010); http://chronicle.com/article/Decoding-the-Value-of-Computer/125266/
3. Ford, G., and Gibbs, N. A mature profession of software engineering. Software Engineering Institute, Carnegie-Mellon University, 1996. Available for download at http://www.sei.cmu.edu/library/abstracts/reports/96tr004.cfm
The Digital Library is published by the Association for Computing Machinery. Copyright © 2011 ACM, Inc.
No entries found