Can Software Engineers Be Licensed?

Some experts in computer science have argued that licensing would not work or would even be counterproductive.[6] These arguments are repeated often enough to bear examination.

Some arguments focus on the claim that software engineering licensing is impossible or impractical, and some focus on the claim that licensing is simply a bad idea.

Here is a summary of the arguments that licensing is impossible or impractical:

  • There is no generally agreed upon body of knowledge for software engineering.[7]

  • Knowledge in software engineering changes so quickly that exams will be out of date by the time they're offered.[8]

  • No reasonable test for software engineering skill could be put into a multiple-choice format. Indeed, no exam-based practices could adequately ensure competency of software engineers.[9]

  • The breadth of subdisciplines involved in developing software would make licensing all of the subdisciplines impractical.[10]

  • The Fundamentals of Engineering Exam required for licensing existing professional engineers is inappropriate for those receiving a computer science degree.[11]

Let's take a look at each of these issues in turn.

There is no generally agreed upon body of knowledge for software engineering.

While this claim might have been true 30 years ago, this claim is not true today. As I discussed in Chapter 5, the body of knowledge for software engineering is well defined and fairly stable.

Knowledge in software engineering changes so quickly that exams will be out of date by the time they're offered.

This claim is based on an outdated understanding of what constitutes software engineering's body of knowledge, as discussed in Chapter 5. Knowledge in some other fields notably medicine changes at least as fast as it does in software. If it's possible to license physicians, it's possible to license software engineers.

No reasonable test for software engineering skill could be put into a multiple-choice format. Indeed, no exam-based practices could adequately ensure competency of software engineers.

Creating a meaningful professional-level exam is indeed a challenge. However, the science and statistics of exam creation in support of professional competency recognition is a mature field. Professions ranging from medicine and law to actuarial science and other engineering disciplines all depend on examinations. Exam creation is time consuming, it is labor intensive, and it requires exam creators who are experts. Software engineering exam creation is challenging as I discovered personally when I helped create the Certified Software Development Professional exam[12] but it is not any more challenging than it has been for any other profession.

The breadth of subdisciplines involved in developing software would make licensing all of the subdisciplines impractical.

The diversity of software development styles does present a challenge to licensing software engineers. Fortunately, the challenge is simplified because most engineers in software, like most engineers in other disciplines, will not need to be licensed. Only those engineers working on software that poses potential risks to the public's health or welfare would need to be licensed.

The issue of "breadth of subdisciplines" is not unique to software. Physicians take board exams in the areas of cardiology, radiology, oncology, and other specialties. Engineers take specialty exams in civil engineering, electrical engineering, chemical engineering, and so on. If other fields can overcome this obstacle, then eventually so can software.

All things considered, I think this argument is less against licensing and more for setting realistic expectations about what licensing can accomplish in isolation. In other engineering disciplines, engineers are bound by a code of conduct not to practice outside their areas of expertise. Software engineering will need a similar standard of practice.

The Fundamentals of Engineering Exam required for licensing existing professional engineers is inappropriate for those receiving a computer science degree.

The Fundamentals of Engineering exam is currently focused on engineering fundamentals including structure and properties of engineering materials, dynamics and control of physical systems, thermodynamics and heat transfer, magnetic fields, and so on. As I discussed in Chapter 17, some emerging software engineering programs do in fact require students to study these traditional engineering subjects. Other programs focus more on software and less on traditional engineering subjects, and students who graduate from those programs will not be prepared for the FE exam.

There is no doubt that significant work must be done before software engineering licensing can become a reality. But much of that work has been completed at this point, or has been underway for years. In my view, the arguments about licensing's practicality are a sideshow; the real arguments have to with whether licensing is a good idea.



Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
ISBN: N/A
EAN: N/A
Year: 2005
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net