|
07.12
Software Engineering Certification in Today’s Environment
By Susan K. Land, PH.D.
and Sorel Reisman,
Ph.D.
How Certification Programs
Can Help
Professional knowledge-based
certification programs exist or can be created
for all experience levels, from entry-level to
professional to mastery (or specialized). In
today’s software industry, the certification
programs are primarily vendor specific (for
example, Microsoft or Oracle) or domain specific
(for example, focused on quality). We need
certifications that help computing professionals
demonstrate proficiencies across the breadth of
software engineering practices.
Certification’s Evolution
For any profession,
certification starts with a body of knowledge
that evolves over time. From that, we must
develop a curriculum, establish accreditation
criteria, define competencies, develop
professional programs, and establish standards.
We also need to establish a code of ethics to
ensure accountability in that profession.
From all of this, formal
education emerges. Initial professional
education is established, leading to skills
development. At some point, this leads to
certification or licensure (see the
“Professional Licensure of Software Engineers”
sidebar). Once these requirements have been met,
full professional status is achieved. A decade
ago, most of this did not exist for software
engineering. Today, all the pieces are in place
for formal certification in software
engineering.
The Benefits
Software certification can
benefit the software industry as a whole. It
helps keep the industry competitive, because
organizations have a continual need to keep
their workforce proficient. Certification can
also provide a baseline of fundamental knowledge
that helps bridge the knowledge gap between what
new college graduates bring to the job versus
what companies require. It benefits employers
and employees as well by demonstrating that the
certificate holder has the necessary domain
knowledge and can apply the recognized
principles and practices of software
engineering.
Certifications can also help
employees gain recognition and increase their
confidence as well as their client’s confidence
in them. They also represent an investment in
the certificate holder’s career—becoming and
remaining certified requires a commitment to
continued education and involvement in software
engineering-related work and activities.
IEEE Computer Society
Programs
The Computer Society currently
has two certification programs: Certified
Software Development Associate (CSDA,
www.computer.org/portal/web/certification/csda),
an entry-level certification aimed at new
college graduates and practitioners with two
years or less experience, and Certified
Software Development Professional (CSDP,
www.computer.org/portal/web/certification/csdp),
targeted toward mid-level practitioners with
four or more years’ experience. (For more
information, email
certification@computer.org.)
Professional software engineers
and developers with certifications can prove
their ability to integrate software engineering
principles and practices into the development
process. By adding the CSDP credential to their
resume, professionals demonstrate knowledge of
and proficiency with best practices in software
development and engineering. They can connect
with a network of software engineering
professionals, all dedicated to advancing the
profession, and prove that they are
career-minded and determined to expand their
knowledge and increase their responsibilities.
Unlike product- or
domain-specific certifications, the Computer
Society programs measure a practitioner’s
fundamental knowledge in key areas such as
software design, construction, and testing. The
foundation for the Computer Society
certification programs is the Guide to the
Software Engineering Body of Knowledge (www.computer.org/portal/web/swebok),
used in many college programs during courseware
development. A workforce that understands and
can apply the SWEBOK principles and practices
can design more robust software, minimize costs,
shorten development times, and reduce the number
of defects.SWEBOK is internationally endorsed
via ISO/IEC 19759 and is now the basis for
software engineering certifications via ISO/IEC
24773. The CSDA and CSDP certifications are the
only industry certifications that conform to
ISO/IEC 24773. The CSDP credential is the only
credential that fulfills the three critical
components of professional certification:
examination-based testing demonstrating mastery
of a body of knowledge (BOK); extensive
experience in the performance of the work or
profession being certified, and continuing
professional education, measured and relevant to
the BOK.
|
SIDEBAR |
|
Professional
Licensure of Software Engineers
By Phillip A. Laplante, Penn
State University
The following 10 states have
indicated that they’ll soon require licensure
for software engineers working on software
systems that can affect public health, safety,
and welfare: Alabama, Delaware, Florida,
Michigan, Missouri, New Mexico, New York, North
Carolina, Texas, and Virginia. Software
professionals working on such systems through
government or corporate entities are likely to
be exempted (as the entity assumes
responsibility for any consequences of system
failure), but individuals who offer engineering
services directly to the public will need to be
licensed. Other U.S. states and jurisdictions
will likely follow suite and require licensure
of software engineers within a few years.
Each state will phase in this
requirement differently, but starting in 2013, a
heretofore nonexistent path to licensure will be
realized. (More information on the history of
software engineering licensure appears
elsewhere.1,2)
For professional licensure in
any engineering discipline, state laws typically
require:
-
an undergraduate degree in
the discipline from an Accreditation Board
for engineering and Technology (ABET)
accredited program,
-
at least four years of
relevant and increasingly responsible
experience,
-
passing an exam in the
fundamental principles of engineering
(called the Fundamentals of engineering or
FE exam),
-
passing a
discipline-specific examination, called the
Principles and Practices (P&P) examination.
Until recently, the only
licensure component that was missing for
software engineering was a P&P exam. However,
the exam is currently under development and will
be available in April 2013.
Different states provide certain
exemptions and exceptions for these
requirements. For example, many states allow for
those with relevant experience but holding
degrees in another discipline to be licensed.
State laws also differ in terms of years of
experience and alternate paths to licensure.
However, the laws for software engineering
licensure have yet to be written for most
states. Therefore, an ad hoc group of
individuals, including members of the IEEE
Computer society Professional Activities Board,
IEEE-USA, the Texas Board of Professional
Engineers, and the National Society of
Professional Engineers are developing a “model”
law for use by state boards in crafting
licensure laws for professional software
engineers.
Although no direct relationship
exists between the IEEE Computer society
Certified Software Development Professional (CSDP)
credential and licensure, there are significant
similarities. The CSDP is built on top of the
Guide to the Software Engineering Body of
Knowledge (SWEBOK), while the P&P examination is
built on a separately developed body of
knowledge that focuses specifically on systems
that directly affect the public’s health,
safety, and welfare. However, the SWEBOK Guide
and P&P exam body of knowledge have significant
overlap. Some states could operationalize these
similarities in their licensure laws.
For example, some states might
count CSDP certification toward years of
experience, just as many states count graduate
education. The exams are structured differently,
though. The CSDP examination is a four-hour
closed-book exam with 180 questions, while the
P&P exam is an open book, eight-hour exam with
80 questions. Yet both are structured as
multiple choice and cover many of the same areas
based on their respective bodies of knowledge,
so success on one exam could be a predictor of
success on the other. As an international
organization, the IEEE Computer Society has
taken a neutral stance on requiring licensure
(as opposed to certification) in the United
States, but it has provided significant support
for test development activity, including
financing and volunteer experts.
If you’re considering
professional licensure and you have the required
educational background, you should probably
prepare to take the FE exam, which can be taken
any time after graduation. You can’t take the
P&P exam (available next year) until you’ve
passed the FE exam and have the relevant years
of experience. However, before you do anything,
you should get full information on licensure
requirements and procedures from your state
Board of Professional Engineering.
References
1. P. Laplante and M. Thornton,
“When do software systems need to be
engineered,” Today’s Engineer, July 2011;
www.todaysengineer.org/2011/Jul/licensure.asp.
2. M. Thornton and P. Laplante,
“Update on software engineering Licensure
Initiative,” Today’s Engineer, reprinted
in IEEE-USA in ACTION, 10 dec. 2010, pp.
7–8. |
|
Ed. Note: This article is based on "Software Engineering Certification in
Today’s Environment," by Susan K. Land and Sorel Reisman, which appeared in the
May/June 2012 issue of IT Pro. © 2012 IEEE.
Susan Land is the lead for
product engineering and Spiral 8.2 development
activities supporting the US Missile Defense
Agency Command and Control, Battle Management,
and Communication Development Programs (C2BMC).
She leads all product engineering activities to
define, develop, and deliver a robust Battle
Manager capability to the Ballistic Missile
Defense System. She was president of the IEEE
Computer Society in 2009. Contact her at
susan.land@mda.mil.
Sorel Reisman is the managing
director of the international, higher education
consortium, MERLOT, a project within the
California State University, Office of the
Chancellor. He’s also a professor of information
systems at California State University,
Fullerton. His research interests include
software engineering, digital libraries, and
STEM education. Reisman received his PhD in
computer applications from the University of
Toronto. He’s a member of the IEEE Education
Society and was president of the IEEE Computer
Society in 2011. Contact him at
sreisman@calstate.edu.
Phillip Laplante, Ph.D.,
P.E., CSDP, is a professor of software
engineering at Penn State University’s School of
Graduate Professional Studies in Malvern,
Pennsylvania. He currently serves as chair of
the software engineering licensure examination
development committee and is a member of the
IEEE-USA Licensure and Registration Committee.
home
|