Licensing and Software Engineers

Jacob Lloyd

October 23, 2003

The License Dispute

In 1998, Texas became the first jurisdiction in the United States to license software engineers as professional engineers, adding software engineering to the list of engineering disciplines. The Texas decision was a flashpoint for controversy as well as a catalyst for the discussion of the differences and similarities between traditional engineering disciplines, software engineering, and computer science in general. Before and since, a long and sometimes bitter debate has raged concerning the place of software engineers among professionals.

On one side of the debate, engineers insist that the title of engineer should be reserved for those who have successfully passed a course of instruction and the proper qualifying exams. In this sense licensing is a matter of public safety; as civil and mechanical engineers are licensed in the interest of assuring that only knowledgeable professionals serve the public in vital capacities, so software engineers ought to be. This view holds licensing crucial since large pieces of software now hold critical positions in systems related to the public trust (the power grid, for instance).

On the other hand are computer scientists and software professionals who hold that software engineering is far too young a field for licensing. Other fields of engineering have had as long as centuries to develop the bodies of knowledge that they require their practitioners to consume. Software engineering has no commonly acclaimed body of knowledge (despite some efforts to create one), and changes rapidly, rendering qualifying examinations useless within a dozen months. Also, the products of software engineering are so far removed from the physical works of other fields as to be incompatible with existing standards in the engineering community. Software engineering as a discipline is considered by this group to be an outgrowth of computer science and should not be held to the same standards as, for example, civil engineering.

Pros and Cons of Software Engineer Licensure

When considering the questions of licensure, the benefits must be weighed against the negative aspects of such a plan. A good understanding of why licensed software engineers are attractive may be an incentive to risk the minefields attendant in the regulation of a field so alien to traditional professions is desired. However, comprehension of the inherent impediments might also force regulation down another path.

Why should software engineers be licensed? Software, like bridges, buildings, and power plants, is an artificial construct used by a wide variety of people for vital purposes. Software is intimately woven into our power grid, our advanced aircraft, even our toasters. A software failure, like the failure of a bridge, can block the performance of vital work activities and even cost lives, as in the case of Therac-25. As architects and engineers are required to assimilate a body of knowledge-procedures, physical science, design principles, etc.-concerning the basic principles needed to perform engineering tasks, an analogous body of knowledge for software engineers would help ensure the quality of software produced. Licensing, in both cases, is intended to guarantee the comprehension by the engineer of his field’s body of knowledge. In other words, licensing exists to protect the public from charlatans and hacks who claim competency without merit.

What are the problems involved in licensing software engineers? Firstly, the body of knowledge for software engineering largely does not exist. Efforts have been made by a joint venture of the Association for Computing Machinery (ACM) and the Institute of Electrical and Electronics Engineers Computer Society (IEEE-CS) are currently engaged in this undertaking. However, the task is not easy. Software engineering is, at this point, less a discipline and more a research question and an agglomeration of tools and techniques. Deciding which are vital and which may be ignored from the standpoint of the body of knowledge cannot be easy.

Also, the products of software engineering are conceptual rather than physical. The products of other engineering disciplines are objects governed by the laws of physics. Computer software does not necessarily have this limitation. The heavy emphasis on physical science and continuous mathematics found in most engineering programs leaves much less time for computing-related knowledge, and may not even serve the software engineer who elects to write operating systems or accounting software. At the least, examinations which lean heavily on physical science (such as the Fundamentals of Engineering examination, a common prerequisite for licensure) would have to be rethought with respect to software engineering.

Thirdly, software engineering is often taught as a part of a computer science curriculum, not as an engineering course. Removing software engineering from computer science and establishing it as a separate field of engineering takes away much of the computer science work integral to the field while adding much which might be irrelevant to the course of instruction. For the foreseeable future, computer science and software engineering are likely to remain so entwined.

Finally, information technology moves at a prodigious rate compared to classical engineering disciplines. Certification tests would likely be outdated before they were administered, and licenses issued decades ago would still be current. One must ask if a software engineering licensee from IT’s distant past (circa 1990) should be re-examined to ensure competency with the current set of tools used in software engineering.

Cases: Texas

In June of 1998, the Texas Board of Professional Engineers added software engineering to its list of recognized engineering disciplines, making Texas the first state to issue licenses to software engineers. The decision was not without controversy. While the IEEE-CS was in favor of licensing software engineers, the ACM was not. Although the ACM participated in a joint IEEE-CS/ACM working group when asked by the Licensing Committee of the Texas Board of Professional Engineers, it later withdrew, citing its opposition to the licensing scheme, and later withdrew support from the Software Engineering Coordinating Committee (SWECC), a joint venture between the two groups charged with preparing a Software Engineering Body of Knowledge (SWEBOK). Engineers shouted public protection on one side, and computer scientists proclaimed software engineering unready for such a step.

In the event, software engineers in Texas must be licensed, but only if they offer their services to the public. Under Texas law, engineers who work for companies need not seek a license; the company assumes liability for the quality of the work done. Software engineers who consult and their like do need to seek licenses. The corporate loophole also explains the relatively low numbers of engineers generally who become licensed. 40% of civil engineers seek licenses, the highest figure, compared to 10% of Texan electrical engineers, the lowest. Several Rice University professors report that they have fielded not questions from students concerning licensing issues at all. Software engineering has been licensed in Texas, and hardly a whimper ensues.

Cases: Canada

The process of licensing software engineers has not gone so smoothly in Canada. When the Memorial University of Newfoundland (MUN) created a software engineering curriculum within its computer science department, the Association of Professional Engineers and Geoscientists of Newfoundland (APGEN) sued the university over misuse of the word “engineer.” In Canada, certain engineering associations are charged with regulating engineering on the national and territorial levels; APGEN is one of these. When news of the lawsuit became public, the Association of Universities and Colleges of Canada (AUCC), the Canadian Information Processing Society (CIPS), the Canadian Association of Computer Science (CACS), and the Information Technology Association of Canada (ITAC) joined in on MUN’s behalf, while the Canadian Council of Professional Engineers (CCPE) backed APGEN. In addition to the suit, the CCPE has trademarked the words “engineer” and “engineering” and is in the process of accrediting software engineering programs within engineering faculties in Canadian universities. CCPE also issues licenses for software engineers (although most software engineers in the Ontario area are drawn from backgrounds other than computer science). CCPE and the Canadian information technology organizations seem to be fighting a nasty turf war over who owns software engineering.

Lessons and Conclusions

Licensing for software engineers is already here in some jurisdictions. Texan and Canadian engineering bodies are already pursuing that course, and New Mexico may follow soon. Still others may never settle on licensing requirements and so their jurisdictions will continue in the de facto void enjoyed by the profession today. We as computing professionals cannot ignore the advent of licensing in our profession. If we are to ensure that the guidelines for licensing are germane to our profession, then organizations such as the ACM and IEEE-CS must continue to advise engineering boards, codify a body of knowledge, and intellectually prepare their membership for licensing. Otherwise, we face regulations written by engineers and politicians ignorant of computer science and software engineering, and that will hobble the bright young software engineers of tomorrow. Only we can secure a sane licensing structure, and we must do so now, before engineering boards and licensing authorities decide to do so for us.

REFERENCES

Allen, Fran, Paula Hawthorn, and Barbara Simons. “Viewpoint: Not Now, Not Like

This.” Communications of the ACM Feb. 2000: 29.

Bagert, Donald J. “Texas Licensing of Software Engineers: All’s Quiet for Now.”

Communications of the ACM Nov. 2002: 92-94.

Cupp, J. William. “Reviewing the Professionalization of Software Engineering:Can

Small Colleges Remain Viable?” The Journal of Computing in Small Colleges

17.1 (2001): 132-146.

Kennedy, Ken and Moshe Y. Vardi. “A Rice University Perspective on Software

Engineering Licensing.” Communications of the ACM Nov. 2002: 94-95.

Knight, John C. and Nancy G. Leveson. “Should Software Engineers Be Licensed?”

Communications of the ACM Nov. 2002: 87-90.

McCalla, Gord. “Software Engineering Requires Individual Professionalism.”

Communications of the ACM Nov. 2002: 98-101.

Myers, Brad, Jim Hollan, Isabel Cruz, Steve Bryson, Dick Bulterman, Tiziana Catarci,

Wayne Citrin, Ephraim Glinert, Jonathan Grudin, and Yannis Ioannidis

“Strategic Directions in Human-Computer Interaction.” ACM Computing

Surveys 28 (1996): 794-809.

Parnas, David Lorge. “Licensing Software Engineers in Canada.” Communications

of the ACM Nov. 2002: 96-98.