¿Qué especialidad tiene la mayor demanda de trabajo, CS o ingeniería de software? ¿Cuál crees que tendrá la mayor demanda en 2020?

Probablemente habrá más demanda de ingenieros de software que de informáticos, así como hay más demanda de ingenieros eléctricos que de físicos.

La diferencia es que en la ciencia, el enfoque está en la teoría y, en última instancia, en extender la teoría (a nivel de doctorado), y en ingeniería, el enfoque está en hacer algo con la teoría (es decir, construir algo). Hay una demanda MUCHO mayor para poder construir cosas que no se rompen (lo que se aplica si está diseñando y construyendo un puente, un circuito, un circuito integrado o un sistema de software).

La industria del software ha experimentado un cambio lento en los últimos 40 años. Lo que era esencialmente un oficio (codificación y desarrollo de software) ha evolucionado tanto en términos de teoría como en implementación. Así como uno puede construir una catedral o pirámide sin conocer la teoría o los buenos principios de ingeniería, uno puede construir grandes sistemas de software sin conocer la teoría o usar una buena ingeniería. A veces, sin embargo, se derrumba o tiene problemas inesperados (Pirámide en Saqqara, carga de viento inducida por grietas en las catedrales). La ingeniería le permite diseñar y construir grandes cosas con la seguridad razonable de que podrá hacer lo que fue diseñado para hacer. Y la teoría desarrollada por los científicos es lo que los ingenieros usan para hacer ese diseño. A veces, la teoría no está bien desarrollada, y la ingeniería tiene un resultado pobre (acoplamiento torsional a las fuerzas aerodinámicas: puente de estrechos de Tacoma).

Como alguien responsable de construir sistemas de software altamente confiables en radios que vuelan en el espacio, tiendo a buscar más ingenieros que científicos. La teoría del procesamiento de señales en la que se basan las radios ha existido durante décadas, del mismo modo, el sistema operativo en tiempo real y los principios de programación son los que se cubrieron en las clases de división más bajas en los años 70, incluso antes de que CS fuera un importante. Sin embargo, lo que se necesita es la capacidad de hacer un sistema que tenga en cuenta todas las peculiaridades de la plataforma específica de hardware y software, que se pueda demostrar que funciona bajo un conjunto de condiciones de prueba razonablemente grande, para desarrollar cuáles deberían ser esas condiciones de prueba, etc. Y para poder construir ese software dentro de una estimación razonablemente determinista de tiempo y dinero. Eso es todo sobre ingeniería.

Voy a una universidad que ofrece ambos y aquí está mi opinión.

Si usted es emprendedor o le gusta “hacer” en lugar de “aprender” por decir, entonces sugeriría sinceramente SE. Tendrá una teoría básica de CS pero se centrará en el desarrollo de software en un grado extremo. Todavía puede hacer algunos trabajos de CS pero va a estar un poco encasillado.

Si le gusta la teoría y ampliar su conocimiento general del sistema informático, CS es una ruta mejor y mucho más versátil. Un estudiante de CS podrá aprender y hacer lo que hace un SE y más.

La mejor comparación es que la economía es finanzas y la física es ingeniería, CS es SE. Es la teoría la que se puede aplicar, pero también generalmente menos intuitiva y más cuantitativa.

La ingeniería de software es una salida débil para un colegio o universidad que no tiene el personal o las instalaciones adecuadas para ofrecer un título real en informática. Por lo tanto, supongo que es una de las principales ofertas de las escuelas de menor rango. Como un título de una escuela de menor rango generalmente vale menos que un título de una escuela de mayor rango, optaría por CS y un lugar que lo ofrezca.

Si una escuela ofrece ambos, probablemente se haga para calmar los egos de algunos profesores que estaban en una lucha de poder local y que, de lo contrario, no deberían importar mucho.