Sobre el intrusismo profesional en informática

Un físico en la corte de la tecnocracia

Los hermanos Wright, intrusos en ingeniería aeronáutica

Los hermanos Wright, intrusos en ingeniería aeronáutica

El intrusismo en informática

Algunas profesiones están reguladas por ley, y no se pueden ejercer sin el título correspondiente. La informática no es una de ellas. ¿Debería serlo? Muchos profesionales opinan que sí. Aunque tal vez menos de los que pensamos.

Encuesta de opinión

El 9 de agosto publiqué una encuesta en Twitter preguntando si el intrusismo era un problema. De los 353 encuestados, sólo un 13% opina que es un problema; 21% no lo tienen claro, y un 39% creen que no. Además de un 27% que se declaran intrusos.

Estos resultados tan poco científicos parecen indicar que sólo la tercera parte (13% + 21% = 34%) cree que el intrusismo es o puede ser un problema, y menos de uno de cada siete está convencido de que lo sea. Se trataría por tanto de una minoría muy vocal que ve clara la necesidad de una regulación estricta, como la que hay en otros sectores: medicina, arquitectura y otras ingenierías (ejemplos típicos que se suelen poner).

En las respuestas a la encuesta se dijeron cosas muy interesantes. Además, abrí un hilo en MadridJS para recabar la opinión de los proponentes, con más detalle de lo que permite Twitter.

Exactamente, ¿qué tipo de regulación se pide? Vamos a empezar con una cuestión más básica. ¿Realmente tenemos claro qué es el intrusismo?

Qué es el intrusismo

Muchos comentaristas insisten en que en Informática no hay intrusismo, dado que no hay regulación. El intrusismo en sentido estricto se da sólo cuando un profesional no tiene cualificación para ejercer una profesión, y se entiende que hay una regulación que requiere esa cualificación. Hay casos claros como las profesiones de medicina o arquitectura. Los estudios de medicina son famosos por la cantidad de títulos necesarios: como mínimo la carrera, la especialización y el MIR. Para ejercer la abogacía o la arquitectura también es necesario estudiar derecho y colegiarse. Por tanto, en estas profesiones se puede hablar de intrusismo con la bendición de la RAE.

No creo que haga falta tanta precisión en nuestro caso. Coloquialmente se entiende que hay "intrusismo" cuando hay unos estudios relacionados con una profesión, y gente sin esos estudios ejerce esa profesión. Profesiones con aspiraciones similares a la ingeniería informática son el periodismo o la psicología. Es interesante estudiar los matices de ambos casos.

Los periodistas no creen pertinente que gente sin el título salga en medios de comunicación dando noticias o haciendo entrevistas. Esto aplica sobre todo a famosos. En un mundo en el que algunos blogs tienen más tirada que muchos periódicos, por no hablar de canales de Youtubers con más audiencia que la tele, puede ser ilustrativo pensar cómo se podría prohibir que gente sin el título publique contenido en internet.

En el caso de la psicología se denuncian ciertas terapias alternativas de dudosa efectividad, lo que parece bastante legítimo. Y hablando de legitimidad, ¿qué dicen las leyes al respecto?

Legislación

La wikipedia tiene varios enlaces interesantes. Decir públicamente que eres "ingeniero informático" sin serlo no es delito. El código penal en su artículo 403 establece que:

El que ejerciere actos propios de una profesión sin poseer el correspondiente título académico expedido o reconocido en España de acuerdo con la legislación vigente, incurrirá en la pena de multa de seis a doce meses. Si la actividad profesional desarrollada exigiere un título oficial que acredite la capacitación necesaria y habilite legalmente para su ejercicio, y no se estuviere en posesión de dicho título, se impondrá la pena de multa de tres a cinco meses.

Si el culpable, además, se atribuyese públicamente la cualidad de profesional amparada por el título referido, se le impondrá la pena de prisión de seis meses a dos años.

Las dos primeras frases se diferencian simplemente en que una habla de "título académico" y la segunda de "título oficial"; en el caso de la informática no hay "título correspondiente" para la profesión, al menos según la ley, ni "título oficial que […] habilite legalmente para su ejercicio". Así que "atribuirse la cualidad de profesional" no puede ser delito ya que requiere alguna de las condiciones anteriores.

Por su parte, la Constitución Española en su artículo 36 sólo dice:

La ley regulará las peculiaridades propias del régimen jurídico de los Colegios Profesionales y el ejercicio de las profesiones tituladas. La estructura interna y el funcionamiento de los Colegios deberán ser democráticos.

Como no hay una ley que regule la profesión de informático, el Colegio de Ingenieros Informáticos no tiene mayor relevancia. Por curiosidad intelectual podemos plantearnos: ¿qué pasaría si la tuviera?

Regulación de la ingeniería informática

En realidad la profesión de informático no está muy bien definida, al igual que la ingeniería informática. En principio puede incluir desde el diseño de hardware hasta la gestión de proyectos, pasando por programación, análisis, arquitectura de software, administración de bases de datos, toma de requisitos, pruebas, administración de sistemas… Eso por no hablar de las diferentes áreas del desarrollo: frontend, backend, DevOps, sistemas integrados, compiladores, y especialización en múltiples lenguajes. En realidad son decenas de disciplinas diferentes, con un mapeo bastante nebuloso a las especialidades de la ingeniería.

¿Qué parte exactamente sólo pueden desempeñar los ingenieros informáticos? En esta emisión de la UNED piden regulación en todos los aspectos, desde la programación hasta la dirección de proyectos. Según los tres ilustres consultados, contratar a gente que no son ingenieros informáticos conlleva peor calidad. La situación requiere regulación de manera urgente.

En un interesante mensaje Pablo Almunia argumenta que los que se quejan de intrusismo buscan en realidad proteccionismo, para poner en valor sus estudios. La emisión de la UNED parece confirmarlo; los únicos argumentos que aportan son que la carrera da "una base", al parecer consistente en teoría de la computación y algoritmos. No parece importarles demasiado que hoy día cualquier algoritmo se resuelva con una búsqueda en Google, a lo sumo dos y un tutorial. También son claramente partidarios de unas herramientas bastante obsoletas, como son la estimación o la gestión de riesgos. Que por otra parte no aparecen por ningún lado en el propio temario de la UNED. (Me llama mucho la atención en este temario que las "Pruebas de software" sean una asignatura optativa: claramente la calidad no es tan importante para un ingeniero informático.)

Ahora vamos a profundizar un poco en cómo se regularía la profesión. Como bien dijo Juan Pablo, prohibir programar a los no titulados sería como si los matemáticos llamaran intrusos a los informáticos por sumar dos números. En un mundo globalizado, ¿cómo se llevaría a cabo exactamente esa prohibición? ¿Sería necesario investigar todo el código y prohibir el que no esté escrito por un ingeniero informático? Por lo tanto, ¿debemos excluir los sistemas operativos GNU/Linux, Windows y Mac OS, desarrollados en su inmensa mayoría por extranjeros sin título homologado en España?

Por lo que sé, en todo el mundo el desarrollo de software es una profesión no regulada. Lo mismo ocurre con la gestión de proyectos de software, que no tienen ninguna diferencia con otros proyectos. En la meca del desarrollo de software, Silicon Valley, tampoco parece haber diferencia entre gente con carrera o los que han estudiado un campamento de ocho semanas: alguien que demuestra aptitud y pasa las pruebas técnicas tendrá una valoración independiente de sus estudios.

La necesidad de mejorar la calidad del software en nuestro país es real, pero las medidas propuestas por los que abogan por la titulitis van muy desencaminadas. Mi experiencia (y la de muchas otras personas consultadas, tanto con título como sin él) es que no hay absolutamente ninguna correlación entre excelencia técnica y posesión de un título relacionado, a cualquier nivel (FP, ingeniería o carrera de Informática). La única receta para conseguir software de calidad es precisamente huir de estructuras arcaicas, contratar a buenos técnicos (con o sin título) y darles la responsabilidad de llevar a cabo el proyecto, sin intermediarios ni figurones administrativos. Todo lo contrario de la estructura mastodóntica tan en boga en España, y que los proponentes de la regulación parecen añorar.

Agravio comparativo

Una queja habitual entre los ingenieros informáticos viene dada por la comparación con otras ingenierías, por ejemplo por mi antiguo compañero Joaquín Díez, con el que tuve la suerte de coincidir en un proyecto hace unos años. Si todas las demás ingenierías están reguladas, ¿por qué no la informática?

La respuesta más obvia es: porque no lo necesita. Diseñar el perfil de un ala de avión requiere cuidadosos cálculos que no todo el mundo es capaz de hacer. Además, la profesión no cambia radicalmente cada diez años, como la nuestra. Por su parte, el desarrollo de software se puede aprender perfectamente de forma autodidacta, ya que hay recursos infinitos en internet. Por más intentos que se hagan, la carrera está obsoleta en el mismo momento de empezarla, ya que mientras se elaboran y aprueban los planes de estudio la tecnología ha cambiado de arriba abajo. ¿Os imagináis lo que pasaría si aprendiérais a programar JavaScript sólo con la tecnología más en boga hace cinco años? Estamos hablando de Explorer 8, Firefox 3.6 y Chrome 8; Node.js va por su versión 0.6.

Si la situación cambiara, en todo caso tendría que ser a liberalizar otras profesiones. Es obligatorio recordar que el primer avión lo diseñaron los dueños de un taller de bicicletas que no terminaron secundaria. No es complicado aprender a usar un programa que diseñe perfiles de avión, y tener un título no garantiza realmente nada. No, tristemente esos "conocimientos mínimos" de los que hablan los que apoyan la regulación no están garantizados por ningún título. Al igual que no te fías de un médico al azar o de un abogado que encuentras en las páginas amarillas, probablemente no deberías fiarte del primer ingeniero aeronáutico que te encuentres.

Firma de proyectos

Una aspiración común de los informáticos es que sólo alguien con el título (el antiguo de informático, o el moderno de ingeniero informático) pueda firmar proyectos, lo mismo que pasa con arquitectos o ingenieros de caminos. Vamos a ver qué consecuencias podría tener esta práctica.

Plagiándome a mí mismo: el típico proyecto de ingeniería de caminos o de arquitectura tiene unos planos, que se aprueban para realizar la obra en sí. En un proyecto de desarrollo el diseño real es el código; la obra es meramente poner ese código en producción. Añadir una capa de "diseño" (un documento) sólo añade complejidad sin aportar nada. Lo mismo ocurre con la especificación o con los requisitos, que en realidad cambian infinitamente durante la ejecución del proyecto. En el típico proyecto dinosaurio para un ministerio puede que sea factible hablar de "entrega". En gran parte del software moderno no hay un momento en el que se pueda plantar una firma, ponerle un lazo y entregarlo. Cada vez más el software es algo que evoluciona constantemente y que necesita actualizaciones constantes.

¿En qué momento plantaría su firma el Señor Ingeniero Informático? ¿En cada versión liberada? En mi trabajo (una pequeña startup de <20 personas) cambiamos el software de producción entre 5 y 10 veces al día; las grandes empresas de internet hacen cientos de releases diarias. Sería una forma bastante buena de asegurarse el pan durante años. Pero todo tiene una contrapartida.

Las consecuencias pueden ser bastante graves, y creo que los defensores de la regulación no lo han pensado bien. Cuando se cae un edificio, el arquitecto que firmó el proyecto tiene responsabilidad civil y penal. Lo mismo le pasa al médico cuando una operación quirúrgica sale mal. Hoy día la responsabilidad del software para hospitales o para aviónica cae en la empresa desarrolladora, y en particular en sus ejecutivos. ¿Realmente quieren los ingenieros informáticos acarrear esa responsabilidad sobre sus hombros, a cambio de cobrar unas migajas por firmar un proyecto?

En septiembre de 2015 la agencia medioambiental estadounidense descubrió que Volkswagen llevaba tiempo falseando las medidas de polución, mediante software que regula el motor cuando detecta que se está midiendo su rendimiento. El escándalo se extendió después a otros fabricantes y a otras regiones, descubriéndose un fraude de miles de millones de euros a nivel global. La empresa y sus ejecutivos son responsables de la situación. Si esto ocurriera en España con una regulación como la que piden los colegios informáticos, serían los ingenieros informáticos que firmaran los proyectos respectivos los que podrían pagar con su patrimonio o incluso con cárcel.

Lo mismo ocurre con posibles fallos de software en un Boeing 787 o un Airbus A350, o en un automóvil fabricado en este milenio, donde el software es responsable de todos los aspectos de la conducción. Ahora mismo ante cualquier problema es responsable la empresa fabricante. ¿Qué ganaríamos exactamente si un ingeniero firmara el proyecto?

Esta tendencia va a aumentar en los próximos años, con coches autónomos y drones militares. Ya se plantean problemas morales en el desarrollo de software, como la típica cuestión de qué debe hacer un coche autónomo cuando no puede frenar y tiene que elegir entre atropellar a cinco personas o estrellarse contra un muro, matando a los pasajeros. Esta aritmética macabra va a incrementarse inevitablemente.

Imaginad qué puede pasar con robots cirujanos y autómatas soldados, cuando realmente tengan que decidir sobre la vida de las personas. A mí personalmente no me ofrece ninguna garantía que vaya a la cárcel un pobre ingeniero desgraciado contratado por la consultora de turno para firmar un proyecto; prefiero que paguen los ejecutivos de la empresa responsable, que seguramente pueden hacer más para asegurar la calidad del proyecto.

Posibilidades reales de la regulación

Lo que más miedo debería darnos es que en un país como el nuestro, aquejado de titulitis crónica y partidario del proteccionismo extremo de sectores tan dispares como la hostelería o los registradores de la propiedad, en cualquier momento se puede cometer la locura de intentar ponerle puertas al campo. Puede que seamos pioneros en esta regulación absurda, igual que en el infame impuesto al sol. Nos queda siempre la esperanza de que Bruselas impida una nueva burrada.

Como bien dijo Pablo Almunia, las leyes ómnibus van en sentido contrario: liberalizar las profesiones que no requieren unos estudios específicos. Incluso en los estudios, las carreras de ingeniería informática no están reguladas.

Por ahora el gobierno ha ignorado una y otra vez las aspiraciones de los ingenieros informáticos. Pero siempre puede llegar un iluminado al gobierno y ganarse unos cuantos votos a través de los colegios informáticos. Esperemos que este momento no llegue nunca.

Conclusión

La posible regulación de la ingeniería informática es una quimera, difícil de implementar y con efectos indeseables, tanto en el software desarrollado como en los propios ingenieros. En realidad es sólo una pequeña minoría la que está a favor, aunque muy ruidosa. La realidad de la industria va en sentido contrario, y no estaría en nuestro interés como país ir contracorriente.

Agradecimientos

Muchas gracias a todos los que habéis retuiteado la encuesta, y a todos los comentaristas en MadridJS.

Publicado el 2016-08-12, modificado el 2016-08-12. ¿Comentarios, mejoras?

Back to the index.