Hay un poco de confusión acerca de qué son las ciencias de la computación y la ingeniería de software como cursos, y por qué tomarías cada uno.
Mucha gente piensa que CS es un “Grado en cómo ser un programador” … no lo es. La clave está en la “Ciencia” vs “Ingeniería” en los nombres.
La ciencia se trata de investigar un tema, descubrir qué es posible, cómo funciona y qué técnicas existen.
- ¿Cuál de los siguientes lenguajes de programación es el más rápido de aprender: C ++, C #, Java, Erlang, Go, Rust, C, D y Hack?
- ¿En Java es tan fácil manejar la interfaz de usuario como en JavaScript?
- ¿Es socialmente inaceptable conducir un Porsche en Silicon Valley como ingeniero de software?
- ¿Cuántos de nuestros ingenieros s / w indios dejarían su trabajo por un trabajo del gobierno donde hacen el mismo trabajo con el mismo salario?
- ¿Qué lenguajes de programación deben saber todos los estudiantes de informática antes de graduarse de la universidad?
La ingeniería está tomando lo que se sabe y haciéndolo servir a las personas.
Por lo tanto, el verdadero “Grado en cómo ser un programador” es Ingeniería de Software. Informática es un título en cómo investigar para hacer mejores técnicas de programación.
La mayoría de los roles de programación en empresas que no son de alta tecnología o finanzas necesitan ingenieros de software mucho más de lo que necesitan científicos informáticos. Incluso cuando una empresa necesita científicos informáticos, porque están presionando lo que se puede hacer y necesitan nuevos algoritmos y técnicas computacionales con frecuencia, todavía habrá ingenieros de software. Es por eso que la ingeniería de software podría ser un mejor movimiento profesional: es más aplicable en general, simplemente hay más trabajos en ese campo.
Algunos empleadores desprecian un poco a los graduados de CS, porque sienten que el programa de CS los ofrece a los graduados técnicamente buenos pero prácticamente ingenuos que necesitan un poco de experiencia en el mundo real antes de que sean realmente productivos, mientras que los ingenieros de software tienden a ser más sólidos y prácticos. . Puede ver algo de esto en Quora, con todas las preguntas sobre “¿Cuál es la mejor X?” Seguido de las respuestas del formulario “Utilice la X que mejor se ajuste al entorno en el que está trabajando”. Esa es una pregunta de tipo CS seguida con una respuesta de ingeniería de software.
Otros empleadores simplemente aceptan que pasará aproximadamente un año antes de que obtengan excelentes resultados, en promedio, y lo tomen como un costo de emplear a personas; Google es así, por la sencilla razón de que no se puede obtener experiencia con la mayoría de la tecnología de Google sin ser primero un empleado, o al menos un interno.
Los equipos de software realmente complejos necesitan matemáticos, científicos físicos, informáticos e ingenieros de software, todo a la vez. A veces, los sociólogos y lingüistas también, si se trata de IA y trabajo de traducción automática. Gente de geoinformática para mapas, y gente de bioinformática para genética e investigación médica. Y, por supuesto, si se trata de finanzas, economistas y actuarios. SRE también necesita experiencia en respuesta a incidentes operacionales.
Entonces, ahora ve por qué un físico con una larga historia en ingeniería de software integrado termina haciendo SRE en Google; Puedo cubrir tres de esos primeros cuatro campos a la vez, y en realidad tampoco soy un holgazán en CS u operaciones. Pero llegar allí tomó la mitad de mi carrera, por lo que no fue particularmente eficiente ni un camino que alguien más pueda repetir con certeza.
Ahora, en cuanto a si necesita un título en absoluto … obtener un título demuestra una cierta habilidad para navegar la complejidad, aprender cosas rápidamente y persistir ante la dificultad. Es una forma relativamente eficiente de señalar eso a un empleador, pero hay otros.
Por ejemplo, tuve un compañero de trabajo que no tenía un título, pero tenía mucha experiencia, incluido ser un bombero rural bastante mayor. Eso mostró más que suficiente de la persistencia y el nivel de responsabilidad. Creo que mi propia experiencia con la Guardia Costera de Nueva Zelanda también hizo algo de eso. Estos roles de servicios de emergencia son una excelente manera de mostrar la capacidad de respuesta a incidentes operacionales para roles SRE / devops; la capacitación de los servicios de emergencia para esto es una exageración completa en relación con lo que requiere casi cualquier función de TI, aunque quizás no sea el extremo más agudo de SRE a escala web, ni los sistemas críticos de seguridad como el control del tráfico aéreo.
La cuestión es … un título es una forma relativamente rápida de poder mostrar esas cosas, pero es costoso. Si puede financiarlo, bueno y bueno, eso es algo racional. De lo contrario, construya un plan para poder demostrar las mismas cosas con el tiempo fuera de la experiencia laboral, estudio a tiempo parcial y tal vez trabajo voluntario.