After several years of planning, consensus building, research and development and many hundreds of hours of work by dedicated volunteer engineers, the path for licensure of software engineers in the United States is now a reality. The last step in the path, the Principles & Practice of Software Engineering Examination (also known as the Software P.E. Exam), was recently completed, and it will be offered in at least 10 states in April 2013. IEEE-USA is offering an exam preparation guide to help individuals prepare for the exam. This article provides important background information on this exam.
Development of the Exam
The process that has led to the development of the exam began several years ago, when the IEEE-USA Licensure and Registration Committee (LRC) surveyed IEEE members to determine if there was a perceived need for licensure of software engineers working on software systems that affect the “health, safety and welfare” of the public. The survey result indicated that such a need existed. Next, the LRC, in conjunction with the IEEE Computer Society, the Texas Board of Professional Engineers, and the National Council for Examiners of Engineers and Surveyors (NCEES) began exploring states’ interest in licensing software engineers. When the licensure boards of 10 states--Alabama, Delaware, Florida, Michigan, Missouri, New Mexico, New York, North Carolina, Texas, and Virginia--agreed to make the exam available, the NCEES began the exam development process.
An exam development committee of more than 30 P.E.s working in software critical systems was formed. All committee members are licensed in one or more states in electrical, computer, or another engineering discipline, or in software engineering from Texas, which had licensed a number of software engineers by portfolio examination several years ago. Most members of the committee have 20 or more years’ experience specifying, building or testing software in such critical industries as power generation and distribution, transportation, and avionics.
The committee designed and conducted a Professional Activity and Knowledge Skill Study (PAKS) of IEEE and NSPE members. The detailed analysis of more than 300 responses resulted in an exam specification, that is, a body of knowledge specifically pertaining to critical software. The specification lists requisite knowledge in requirements engineering, design, construction, testing, quality assurance, maintenance, and more, and stipulates the proportion of questions to be expected in each area. This document can be found at www.ncees.org.
After developing the exam specification, the committee spent two years writing and reviewing exam questions. The rigorous review and post test results analysis process is designed to insure that all exam items are reliable and valid. The P&P test is a one day, multiple-choice exam, consisting of 80 questions taken during two, four-hour sessions. To have sufficient diversity of questions and backup items, and to produce the sample exam, more than 200 questions needed to be written and reviewed.
Licensure Requirements and Process
Only software professionals working on software that can affect health, safety and welfare, and who are offering their services directly to the public (and not through a corporate or government entity, which may be exempted) will need to be licensed in those states that require it. How many engineers will be affected, is unknown, but it is likely that it will be a very small number, say <2-5% of software professionals.
As with the other engineering disciplines, the requirements consist of earning an ABET accredited bachelor’s degree in Software Engineering, passing the Fundamentals of Engineering Exam (FE), having at least four years of demonstrably relevant experience, and passing the Software P.E. Exam.
Some professionals working on critical software do not have undergraduate degrees in Software Engineering, but have degrees in related disciplines, such as Computer Science or Computer Engineering. These professionals may still have a path to licensure--most states will recognize a closely related degree, if additional years of relevant experience are evidenced. Often, graduate education in software engineering can be counted towards the additional experience and has the benefit of helping to prepare for the Software P.E. Exam. It is important to note that the exam is designed to test minimum competency, not expertise. The exam is not to act as a barrier to practice, but rather, to insure that professionals conduct their practice so that the safety of the public is protected.
For many software professionals though, the most daunting obstacle to licensure is the Fundamentals of Engineering (FE) Examination. This full-day examination covers a broad range of topics that all engineers are expected to know--such as mathematics, chemistry, physics, computers, economics and ethics. But review courses and diligent study can help candidates pass the FE exam, whatever their background.
Sample Exam Book
To help prospective examinees prepare, the exam committee created a study guide. The guide includes the test specification, 40 representative questions with solutions and a suggested reference list. All code used in the questions are in a generic, pseudo-language, and the description of this language is also included in the book. The exam preparation book is available from the IEEE-USA [details of distribution and cost here – to come].
Being a licensed professional software engineer is an important credential, and even if not required for the work you do, can distinguish you from other professionals and unlock job opportunities. If you think you might need to become licensed, or would like to become licensed as a software engineer, start by checking with your state board of professional licensure for eligibility and requirements. You may also check the following for more information:
IEEE-USA E-Books has also just published The Best of Today’s Engineer: On Licensure. IEEE members can purchase it at a deeply discounted rate at www.ieeeusa.org/communications/ebooks/.
Phil Laplante, CSDP, P.E., Ph.D., is an IEEE Fellow, and Chair of the Software Engineering P.E. Exam Development Committee.