¿Cuál es el alcance de la ingeniería de software?

El problema para responder a esto es que mucha gente llama al trabajo "ingeniería del software" cuando no lo es, al igual que muchos lo llaman "informático" cuando no lo es. Teniendo esto en cuenta, aquí está mi respuesta.

Técnicamente, un informático descubre nuevas y mejores formas de resolver problemas informáticos (mejores algoritmos, lenguajes y métodos de programación, etc.). Un ingeniero de software utiliza esos algoritmos, lenguajes y demás para diseñar y construir sistemas de software que sean fiables, seguros, soportables y con otros atributos de calidad. Es como la relación entre un químico y un ingeniero químico. Uno desarrolla la teoría, el otro fabrica productos de alta calidad utilizando esa teoría. De nuevo, técnicamente, el verdadero informático es un científico y el verdadero ingeniero de software es un ingeniero, que utiliza principios y técnicas de ingeniería para desarrollar software. Así es como la mayoría de las sociedades profesionales de la informática definirían las cosas.

En la práctica, sin embargo, hay varios problemas. 1) Muchas universidades utilizan el nombre de ciencias de la computación para lo que equivale a un grado de ingeniería de software. 2) La mayoría de los empleadores no saben la diferencia y contratan a personas con cualquiera de los dos títulos. 3) La mayoría de las personas con títulos en ciencias de la computación o ingeniería de software pasan mucho tiempo escribiendo software, a menudo para aplicaciones que no requieren alta calidad o robustez o mantenibilidad a largo plazo. En otras palabras, no utilizan todas las habilidades que aprende un buen estudiante de ciencias de la computación o de ingeniería de software.

Por otro lado, si consigues un trabajo escribiendo software para una organización de software verdaderamente profesional - por ejemplo, escribiendo software para la navegación de naves aéreas o la gestión de un aeropuerto o haciendo el sistema de control de tráfico aéreo de los Estados Unidos necesitarás todas las habilidades de un verdadero ingeniero de software (y más).

Con esto en mente, te recomiendo que consultes el SWEBOK, que documenta lo que los ingenieros de software profesionales creen que es el alcance de la ingeniería de sodtware. Está disponible en formato impreso o como archivo PDF descargable en www.swebok.org. Ha sido elaborado por un grupo mundial de cientos de expertos en la materia y patrocinado por las principales sociedades técnicas y empresas. Su mantenimiento corre a cargo de la IEEE Computer Society.