|
04.10
Why Should Software Engineers
Be Licensed?
By Lance Kinney
The licensing of professional
engineers in the United States began in 1907.
Since then, every state in the union has
developed some sort of licensure process to
protect the health, safety and welfare of its
citizens by verifying the competency of those
who wish to practice engineering.
To demonstrate engineering
competency, all state licensing organizations
require some form of the “three e’s” —
education, experience and examination. At a
minimum, these are operationalized in the form
of an ABET-accredited baccalaureate degree in
engineering, a minimum amount of engineering
practice under the supervision of a licensed
professional engineer, and the Fundamentals of
Engineering (FE) and Principles and Practice of
Engineering (PE) exams.
While many areas of engineering
— civil, mechanical, electrical, to name a few
— have been recognized and included in the
licensure paradigm since its inception, software
engineering as a distinct area of engineering
practice is relatively new. The practice was
first identified as a discipline separate from
computer engineering and computer science in the
1960s, but the structure needed to support
professional licensure did not exist until
recently. The first baccalaureate software
engineering program was accredited by
ABET in
2002, and the body of knowledge for software
engineering was formalized in 2004. However, the
growth in the field has been rapid — with 19
ABET accredited programs to date and the
approval by the
NCEES in 2009 to develop a Professional
Engineering (PE) examination for software
engineers (see
www.todaysengineer.org/2009/Sep/Software-PE.asp).
Given all of this progress in
formalizing a structure for software engineering
as a profession, the question still remains:
why should software engineers be licensed?
The answer is simple: virtually every technology
in existence or in development today is directly
impacted by software engineering, including
safety-critical artifacts such as real-time
controllers and logistics systems. There is an
enormous proliferation of products and services
in both the public and private sectors that are
directly dependent on software engineering. The
need to establish a credential to demonstrate
professional competency is the logical next
step.
The Software Engineering
Licensure Consortium (SELC), a group made up of
representatives from
IEEE-USA, the
IEEE Computer Society, the National Society
of Professional Engineers (NSPE),
the Texas Board of Professional Engineers (TBPE),
and NCEES, summarized the reasons for licensure
as follows:
-
Licensure is appropriate: software
engineering is a maturing discipline in which
engineering principles are effectively applied
to the development of software
-
Licensure is necessary:
software
engineering plays a vital role in the
development of systems that affect the health,
safety and welfare of the public
-
Licensure is feasible: the
necessary infrastructure and support elements
are in place to support an effective software
engineering licensure path
-
Licensure places responsibility: software
engineering designs and projects should be
signed and sealed to ensure the quality of the
work and protect the health, safety and welfare
of the public
Failures attributed to software
have been noted since the early days of
computing, and the damage caused by those
failures has ranged from trivial to
catastrophic. There are many examples of
software failures that might have been mitigated
through the proper engineering design,
evaluation and oversight by a professional
software engineer, including electrical grid
blackouts, air traffic control failures, medical
equipment failures and various other
high-profile corporate failures.
Imagine a large public works
project such as a water treatment plant.
Currently, this type of project requires the
design expertise of many types of engineers —
geotechnical, environmental, civil, mechanical,
electrical and structural — who must all be
licensed professionals. However, the person
designing the software that integrates and
controls all of the systems does not currently
have to be a licensed professional. If all
aspects of the design need to be signed and
sealed by a professional engineer (P.E.) to
ensure that they are done competently and
correctly, then why do we allow the plant’s
control system — which is critical for the
success and safety of the project — to be
designed by an unlicensed individual?
Traffic control systems, ‘smart’
buildings, and other systems that integrate
software with the built environment also pose a
major risk that we cannot afford to take now or
in the future. Software engineers need to be
licensed to demonstrate competency, to take
responsibility, and to protect the health,
safety and welfare of the public.

Lance
Kinney, P.E., is the interim executive director of the Texas Board of
Professional Engineers (TBPE) and represents TBPE in the Software Engineering
Licensure Consortium (SELC).
Comments may be submitted to
todaysengineer@ieee.org.
|