¿Qué campo debo elegir para una licenciatura, ingeniería de software o informática?

Creo que tiene la idea correcta en mente: seleccionar primero un campo de estudio importante y luego agregar un fondo apropiado de Ciencias de la Computación.

Si he leído mal tu intención, ¡lo siento! 😉

Los ingenieros de software más peligrosos con los que me he encontrado se volvieron así porque eran científicos informáticos “clásicos” y sin antecedentes en un dominio específico. Por dominio me refiero a “sistemas mecánicos”, “finanzas”, “procesos de fabricación”, etc. Sin embargo, estas personas a menudo fueron arrojadas al “extremo profundo” de un sistema complejo y desarrollaron estructuras de datos y algoritmos bien diseñados, y perdieron por completo el punto de entregar un sistema apropiado para un dominio dado: falla total.

Los mejores ingenieros de software (y me refiero a mucho mejor que yo), obtuve un BS es un campo de estudio liberal (literatura inglesa o historia, como algunos ejemplos) y luego hice una especialidad de maestría en ingeniería de software de un plan de estudios de informática. Estas personas pueden trabajar en CUALQUIER industria de dominio y, hasta ahora, han hecho algunas cosas realmente innovadoras. Y conozco algunas carreras de CS realmente buenas, pero ese no es mi punto.

Por lo tanto, le aconsejo que haga un trabajo de pregrado en un campo que le interesará de por vida. Y luego agregue ingeniería de software, ya sea por certificado o programa de maestría.

También tenga en cuenta que las personas más famosas y exitosas en el negocio del software simplemente lo aprendieron por su cuenta. Los programas para la ingeniería de software simplemente no existían hasta hace poco, ¡y mira de qué se ha beneficiado el mundo hasta ahora! Por supuesto, necesitamos más disciplina en torno a la ingeniería de software, especialmente para sistemas críticos y de uso humano … pero eso es una discusión para otro día.

En mi propia experiencia, (BS, MS en ingeniería relacionada), tomé EXACTAMENTE (4) cursos relacionados con la computadora y he tenido una carrera de 25 años (hasta ahora) en la industria del software. La lista:
– Programación para ingenieros (FORTRAN)
– Introducción a la informática (PASCAL)
– Arquitecturas de microprocesador (nivel de posgrado)
– Simulación de sistemas (nivel de posgrado, SIMSCRIPT)

¿Qué uso realmente hoy? Python, R, Mathematica, algunos Java (¡cuando no tengo otra opción!) ¡La mayor parte de lo que aprendí ahora solo es útil para un trabajo de jubilación como guía de museo! 😉 Pero cuando necesitaba aprenderlo, era algo que generaba mucho dinero. La industria cambia muy rápidamente … tenga esto en cuenta.

En mi trabajo de investigación de BioMedical me involucré con la adquisición de datos en PC, simulación en PC e imágenes en HP-UX. Usé FORTRAN, C, UNIX y Windows. Pero vamos a llamar a esto práctico. En mi carrera profesional, tomé todas las capacitaciones de la compañía disponibles (principalmente relacionadas con el producto) y siempre me mantuve al día con “DR Dobbs Journal”, “Circuit Cellar”, “Byte”, etc. Así que realmente considero que me autodidacta para ser Arquitecto de soluciones, con lectura externa y una carrera caótica.

Hoy en día, tiene una gran variedad de aprendizaje basado en la web, you-tube y varias publicaciones. A lo que la universidad te expone es a “cómo pensar y aprender cosas nuevas”. Lo que obtienes en tu carrera es “cómo hacerlo”. Lo que necesita reconocer y aceptar es que nunca dejará de aprender … si desea tener una larga carrera en el campo del software. Todo lo que realmente necesita es una computadora e Internet y una pizca justa de ambición.

Por lo tanto, le aconsejo que se tome su tiempo universitario estudiando algo que formará su “dominio del conocimiento” y que tome el bit del software a través de cualquier camino que le resulte cómodo. Simplemente no quiero que malgastes tu inversión universitaria aprendiendo temas “contemporáneos” … que se descartarán antes de que el sello de tu título esté seco.

¡Hola!

Hablemos sobre el camino a seguir para convertirse en un gran desarrollador de software.

No sé cuál es su ambición profesional, pero hoy hay algunas cosas sobre la industria del software:

  • Hay un flujo constante de nuevas tecnologías.
  • Se deben aprender nuevos y diferentes lenguajes de programación y bibliotecas.
  • Los desarrolladores tienen que estar al tanto de ellos descubriéndolos, evaluándolos y quizás aprendiéndolos solos

Donde un curso de pregrado relacionado puede ayudarlo a convertirse en un desarrollador de software, no le impartirá la educación progresiva y dinámica necesaria para desarrollar las habilidades para triunfar en la industria. Entonces, cualquiera de los dos que elija, terminará aprendiendo sobre software, pero el enfoque para aprenderlos no lo llevará lejos. Así que personalmente no recomendaría ninguno. Si quieres:

  • Pase 4 años en pregrado y asista a conferencias impartidas por profesores.
  • Pague una gran cantidad de matrícula
  • Ir a la investigación
  • Hazte doctorado

Entonces te aconsejo que vayas a un título de CS en una universidad. Sin embargo, si desea evitar pasar media década en educación para obtener un título que no lo capacitará adecuadamente para un trabajo en la industria del software, debe buscar lugares como la Escuela de Ingeniería de Software Holberton en San Francisco, donde puede esperar :

  • Tome la iniciativa y aprenda ingeniería de software al codificar y construir cosas
  • Evitar deudas estudiantiles
  • Consigue un buen trabajo en la industria tecnológica rápidamente

La escuela Holberton ofrece una alternativa de 2 años a la universidad , capacitando ingenieros de software full-stack. Con el enfoque progresivo que adopta Holberton, no hay maestros formales, ni conferencias, y todo se aprende construyendo y colaborando con sus compañeros. El enfoque principal es proyectos desafiantes que estimulan el aprendizaje y proporcionan una motivación creciente. La clave aquí es que el software es un oficio y es practicando que uno puede dominarlo, no escuchando a un maestro en el aula diciéndole cómo debe proceder.

El éxito de este enfoque se realiza en el hecho de que los graduados de Holberton se adelantan para lograr cosas asombrosas en el mundo tecnológico. Los graduados incluso han sido elegidos para trabajar con lo mejor de lo mejor, que han incluido Apple, NASA y Dropbox, por nombrar algunos.

¡Espero que tomes la decisión más adecuada para ti! ¡Buena suerte!

Bueno, depende de lo que quieras hacer. Desde el punto de vista de la mayoría de los gerentes de contratación, los dos grados son intercambiables. Entonces, si te preocupa que cualquiera de los dos sea más competitivo, no me preocuparía.

Aquí hay un gran artículo sobre la comparación con la que estoy de acuerdo en su mayor parte. Grados desmitificados: ciencias de la computación vs ingeniería de software

La principal diferencia está en las palabras “ciencia” e “ingeniería”. La informática es más sobre el diseño de algoritmos, lenguajes, etc. Más pesado en teoría. Como ingeniero, parte de mí desea saber más sobre el diseño del lenguaje, pero no ha afectado mi capacidad de escribir código. La ingeniería se trata de crear cosas, más sobre la aplicación de la teoría.

Ninguno de estos grados te convertirá en un codificador de estrellas de rock. Es probable que seas un codificador de mierda recién salido de la escuela. El propósito de esos programas es brindarle una base de comprensión para que pueda convertirse en un codificador de estrellas de rock. Convertirse en la estrella del rock requiere encontrar buenos mentores, curiosidad, aprendizaje continuo y escribir mucho código.

Supongo que, en cierto modo, la respuesta a estas preguntas depende de si quieres convertirte en ingeniero o científico. Como estudiante de ingeniería de software, estará más expuesto a los aspectos de diseño de las cosas, mientras que como estudiante de informática probablemente verá más cosas relacionadas con la investigación sobre cosas como algoritmos, compiladores, etc. Sin embargo, incluso eso depende del programa particular en el que termines inscribiéndote.

Personalmente, considero que “ingeniero” es un título más atractivo para una carrera en la industria. Podrías enfocar tus asignaturas optativas hacia antecedentes teóricos para evitar quedarte atrás y, al mismo tiempo, desarrollar una mejor comprensión de sistemas completos y no solo de ciertos componentes complejos de ellos. De lo contrario, si está dispuesto a investigar, la informática es probablemente más fructífera. Lo que es más importante en cualquier caso es mantenerse al día con los últimos desarrollos en el campo y educarse continuamente después de la graduación, como lo menciona Eric Friese.