¿Debería la ingeniería de software requerir certificación profesional, licencias, pruebas y regulación?

No, la ingeniería de software no debería requerir una certificación profesional.

He sido un ingeniero de software con licencia en Canadá (donde es la ley que tienes que ser licenciado para usar el título de Ingeniero) durante casi 10 años. He sido desarrollador de software durante más de 30 años.

Hace cinco años podría haber dicho que sí, pero he cambiado de opinión.

Aquí está el porqué:

  • Las organizaciones de licencias son burocráticas. Es muy difícil para ellos mantenerse al día con la evolución de los desafíos, los problemas y las fuerzas económicas. Las pruebas siempre van a estar atrasadas. Esto es especialmente cierto en el ámbito de las tecnologías de la información.
  • En Canadá, estas organizaciones no son la policía, así que dependen de otras personas para que se quejen de los ingenieros que no respetan las normas. La gestión de las quejas es muy burocrática. Es una especie de copia barata de los sistemas judiciales que ya existen en el gobierno, porque los recursos son muy limitados. El peor resultado de una denuncia es que una persona sea expulsada de la organización y no pueda ejercer en el campo. Esto no es realmente nada, comparado con las sanciones civiles por hacer algo irresponsable.
  • Los ingenieros son humanos y por lo tanto corruptibles, a pesar de la certificación, la licencia, etc. Busque la comisión Charbonneau para ver los hechos de lo extremo que es este problema en Quebec. Es tan malo que la Orden de Ingenieros aquí tiene que utilizar recursos para hacer el control de daños políticos, lo que diluye aún más su eficacia para hacer las cosas que está diseñado para hacer.

De hecho, yo fui una de las primeras personas en ser un ingeniero de software con licencia en Quebec, porque yo soy un profesor en una universidad que ofreció uno de los primeros títulos de grado de Ingeniería de Software en Quebec en 2001.

Cuando solicité la licencia de ingeniero de software, no había pruebas establecidas para cosas como el diseño de software, la ingeniería de requisitos, etc. Había pruebas relacionadas con la informática, como estructuras de datos, algoritmos, etc. La licencia para la parte de ingeniería de software se basaba en testimonios (cartas) de mis antiguos empleadores en cuanto a la naturaleza de las actividades de ingeniería de los trabajos que realizaba, así como en una entrevista de 3 horas con la Orden sobre mi CV.

Un año más o menos después de obtener mi licencia de Ingeniero Junior, fui contactado por la Orden para crear y administrar las pruebas de diseño de software para ellos. El trabajo no era realmente interesante desde el punto de vista del salario, así que lo rechacé educadamente.

En conclusión, aunque creo que la noción teórica de las licencias tiene sentido (en términos de establecer la competencia - enseño en un programa de licenciatura de ingeniería de software), simplemente no funciona bien en la práctica. El software que es crítico para la seguridad ya pasa por una validación rigurosa (DO-178C, ISO-62304). Las fuerzas del mercado y los tribunales civiles harán el trabajo para el resto.