Certification of software engineers

In some countries, it is a legal requirement that the engineers responsible for safety-critical structures, such as bridges, are licensed or certified engineers. This means that the engineer is a member of a professional body such as, in the UK, the Institute of Civil Engineers. This professional body has minimal requirements for members and requires members to keep up to date with new developments in their field.

There is continuing debate about whether the same approach should be used for safety-critical software systems. That is, the system can only be put into use if its development has been supervised by a licensed software engineer. It is argued that such a requirement would lead to better professional practice in the development of safety-critical systems and, hence, a lower probability of safety-related system failures. However, as far as I know, no countries have such a legal requirement for safety-critical software engineering.

In some countries, such as the UK, software engineers can be licenced engineers through accredited, professional engineers through professional institutions such as the British Computer Society (BCS) or the Institute of Engineering Technology (IET). Both of these are accrediting bodies for the Engineering Council that can issue the title of Chartered Engineer.

However, in other countries, the situation is more confusing. In the USA, engineers are licensed at the state level and, as far as I know, only Texas has a formal licensing programme. In other states, software engineers may not use the title 'Engineer'. The Texas scheme has been criticised, however, because it does not take into account the differences between software engineering and other engineering discipines. The ACM is not supportive of licensing as proposed in Texas.

The approaches used in different countries to certification differ. In the USA, there is a great emphasis on a body of knowledge such as the SWEBOK (Software Engineering Body of Knowledge). In the UK, there is a recognition that this approach leads to breadth rather than depth of knowledge and so certification depends on completion of an accredited degree. Accredition is flexible and courses that cover software engineering and computer science from different perspectives can be accredited.

Communications of the ACM, November 2002. A special issue on the licensing of software engineers.

Professional Software Engineering, Fact or Fiction. S. MacConnell and L. Tripp. IEEE Software. A short readable paper on this topic.



(c) Ian Sommerville 2008