¿Debería especializarme en informática o en ingeniería de software? He oído que los ingenieros de software codifican hasta que ya no se puede codificar y que los ingenieros informáticos codifican hasta que funciona. ¿Cuáles son las principales diferencias y similitudes?

Como con cualquier generalización, lo que has oído tiene una semilla de verdad, pero es mayormente erróneo.

La informática, como disciplina, está interesada en crear conocimiento. Como tal, lo que importa es la verdad. Un informático que está trabajando en un nuevo sistema puede estar preocupado sólo por conseguir que algo funcione para que su hipótesis pueda ser probada.

Sin embargo, la mayoría de los estudiantes que estudian ciencias de la computación terminan trabajando como ingenieros de software. Si no prevé continuar con la escuela de posgrado y una carrera de investigación, es probable que trabaje como ingeniero de software y, por lo tanto, haga lo mismo que hacen los ingenieros de software. En resumen, te convertirás en un ingeniero de software con un título de CS.

Los ingenieros de software no necesariamente codifican hasta que algo ya no puede ser codificado. Puede que lo intenten, pero su jefe les dará una patada en el trasero si siguen puliendo el código después de que funcione. Siempre hay algo más que codificar, por lo que demorarse en un módulo hasta que no se puedan hacer más mejoras es un desperdicio del dinero de su empleador y no le gustará. En resumen, la mayoría de los ingenieros de software codifican hasta que el sistema funciona según las especificaciones y luego pasan a la siguiente tarea.

Si una carrera de ingeniería de software te preparará para una carrera de ingeniería de software mejor que un grado de CS es discutible. Si estudias CS, obtendrás una base sólida en la teoría, pero también tendrás la oportunidad de cursar asignaturas optativas de ingeniería de software. Por lo tanto, puede obtener lo mejor de CS y una base razonable en la metodología de la ingeniería de software como una carrera de CS.

Cuando consiga un trabajo en la industria, todo lo que usted'ha aprendido sobre la ingeniería de software pasará a un segundo plano en la forma en que su empresa aborda el proceso de desarrollo. Y a medida que su carrera avanza, tendrá que mantenerse al tanto de las modas y las tendencias, ya que las metodologías de ingeniería de software van y vienen.

Mi opinión es que será mejor que tomes más cursos de CS que de ingeniería de software.