David Janzen de CalPoly ofrece la siguiente pieza que destaca las diferencias entre la informática y la ingeniería de software.
1. La informática abarca los conceptos y tecnologías centrales relacionados con la forma de hacer que una computadora haga algo. Aprender a programar una computadora escribiendo software es esencial, y la programación informática se usa en la mayoría de los cursos de informática. Aprenderá detalles sobre cómo funcionan las computadoras y las redes, pero con énfasis en cómo funcionan los lenguajes de software y programación. Aprenderá cómo hacer que hagan cosas muy sofisticadas (por ejemplo, gráficos, robótica, bases de datos, sistemas operativos). También aprenderá sobre la teoría detrás de cómo y por qué funcionan las computadoras y el software. En su proyecto senior, abordará un problema en la frontera de la informática. Puede estar creando un nuevo sistema, descubriendo mejores formas de diseñar software o desarrollando nuevos algoritmos para proyectos en campos completamente diferentes; tu decides. Los proyectos de estudiantes anteriores incluyen: videojuegos, herramientas de modelado y animación por computadora, y un controlador de Linux para el control remoto de Wii.
2. Ingeniería en Computación le enseña cómo diseñar sistemas que incluyen tanto hardware como software. Tomarás clases sobre cómo funciona el hardware y cómo construir una computadora. Tomarás clases de software con énfasis en software relacionado con el hardware, como controladores de dispositivos y sistemas operativos. Los cursos de ingeniería informática son impartidos por profesores de los departamentos de informática y de ingeniería eléctrica. Los ingenieros informáticos que trabajan diseñan las computadoras y el software básico que las ejecuta, incluidas las computadoras personales y los sistemas informáticos “integrados” que ejecutan automóviles, aviones, videojuegos, etc.
- Como estudiante de ingeniería de comunicación, quiero trabajar en Apple en el departamento de desarrollo de software, ¿qué habilidades de programación debo tener?
- ¿Qué tipo de habilidades de Python necesita un QA o un ingeniero de pruebas?
- Cómo determinar mi próximo paso en mi camino de ingeniería de software
- ¿Qué tan fácil es hacer una transferencia interna a otro equipo en una gran compañía tecnológica, y cómo se comparan compañías como Microsoft, Google, Facebook y Yahoo en términos de facilidad de transferencia interna?
- Cómo convertirse en un excelente programador
3. La Ingeniería de Software se enfoca en cómo diseñar y construir software en equipos. Tomarás muchos de los mismos cursos que harías en informática, pero tomarás cursos adicionales que te enseñarán sobre temas como ingeniería de requisitos, arquitectura de software, pruebas de software e implementación de software. Aprenderá a trabajar con personas (comunicación, gestión, trabajar con clientes no técnicos), procesos para desarrollar software y cómo medir y analizar el producto de software y el proceso de software. La especialización en ingeniería de software requiere que tome una secuencia de tres cursos (nueve meses de duración) llamada la piedra angular de la ingeniería de software. Los cursos finales se centran en un gran proyecto para un cliente externo. Los estudiantes trabajan en equipos de cuatro o cinco personas para obtener y desarrollar requisitos para el sistema, diseñar una arquitectura, construir prototipos, implementar el sistema, luego implementar y mantener el sistema.
Tanto la informática como la ingeniería de software tienen una gran demanda en todo el mundo. Entonces, ¿cuál debe seleccionar?
Primero, tenga en cuenta que hay mucha superposición entre la informática y la ingeniería de software. Lea las definiciones anteriores y vea dónde encaja mejor. ¿Te gusta diseñar y codificar software? ¿Te gusta trabajar en equipo? ¿Te gustan los controladores técnicos detrás del hardware y las redes? ¿Te gusta investigar y ver cómo mejorar el poder de las computadoras? ¿Le gusta trabajar con usuarios que pueden no tener idea sobre el software o cómo está diseñado? ¿Le gusta escribir requisitos y seguir los procesos de desarrollo de software?
Las dos áreas de CS y SE no tienen límites estrictos. No es que uno sea construcción y el otro esté volando un avión. Imagine CS y SE como una casa con una base común. Una vez que se construye la base, a algunas personas les gustaría trabajar con los materiales que se utilizan para construir la casa, mientras que otras pueden estar interesadas en asegurarse de que la casa sea eficiente y construir cosas que harán que vivir en la casa sea más placentera. Por lo tanto, le animo a que tome esta decisión basándose en lo que realmente disfruta hacer. ¡Sé que tomarás la decisión correcta!