Licensing of Software Engineers in Texas

A couple of years ago I wrote an article for Information Executive about the State of Texas licensing Software Engineers. As a part of their efforts to license Software Engineers they had asked the Association of Computing Machinery (ACM) and the Institute of Electrical and Electronics Engineers (IEEE) to develop a Software Engineering Body of Knowledge (SWEBOK) from which a test could be created for the purpose of licensing Software Engineers.

ACM and IEEE spent a great deal of time and effort developing SWEBOK, but without much success. ACM has since withdrawn from this effort, stating it could not support this effort to license software engineers. ACM's position is that our state of knowledge and practice in software engineering is too immature to warrant licensing. ACM feels licensing would be ineffective in providing assurances about software quality and reliability.

To review the ACM Position on Software Engineering as a Licensed Engineering Profession, see www.acm.org/serving/se_policy/selep_main.html. I also recommend reading the appendix to their position titled ‘An Assessment of Software Engineering Body Of Knowledge Efforts'.

The major problem I saw in the Texas law is that the licensing effort is under the auspices of the Professional Engineers. The Professional Engineers have a problem with the title of Software Engineer. If you call yourself a Software Engineer you must then be licensed as a Professional Engineer.

I sent an email to the Professional Engineering Board of Texas to inquire about the status of licensing Software Engineers. I asked if a test had been developed and if they had licensed any software engineers. In their reply they informed me that the National Council of Examiners for Engineering and Surveying (NCEES) has recreated the Electrical Engineering examination to accommodate computer subjects. You may view the exam specifications at www.ncees.org.

The Texas Professional Engineering Board also informed me that there are now Professional Engineers with specialties in Software Engineering. Some were licensed by exam and some were licensed by examination waiver (the candidate must have 12 or 16 years of engineering experience with a minimum of a BS degree in engineering or related science degree to request exam waivers).

I reviewed the exam specifications. There are two parts to the exam. The first part is a breadth exam, which is for an Electrical Engineer. It is totally about electricity. The second part, which is for a computer specialist, is primarily about computer hardware. The categories are as follows:

General Computer Standards 10%Hardware 45%Software 35%Networks 10%.

I strongly recommend all AITP members that are in the business of creating software take the time to read the ACM positions. I also strongly recommend that AITP work closely with ACM and encourage ACM to look closely at the Institute for Certification of Computing Professionals (ICCP) and what they have accomplished in building a body of knowledge for the certification of IT Professionals. For more information about ICCP visit www.iccp.org.

One final recommendation has to do with the title ‘Software Engineer'. If you call yourself a ‘Software Engineer, the professional engineers feel you come under their auspices. Here is a definition of a software engineer that I got from the Internet:

A software engineer is a licensed professional engineer who is schooled and skilled in the application of engineering discipline to the creation of software. A software engineer is often confused with a programmer, but the two are vastly different disciplines.

While a programmer creates the codes that make a program run, a software engineer creates the designs the programmer implements. By law no person may use the title "engineer" (of any type) unless the person holds a professional engineering license from a state licensing board and are in good standing. A software engineer is also held accountable to a specific code of ethics.