¿Andrew McGregor menciona que un título en ingeniería de software es más adecuado para ciertos trabajos de codificación? ¿Qué roles y roles principales serían estos típicamente y cuáles son sus perspectivas futuras?

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.

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.

Aunque esa es una gran respuesta, a la que me gustaría agregar un poco. Ciertamente, las personas logran obtener trabajos sin grados de ningún tipo, aunque en general son una pequeña minoría de desarrolladores.

Muchos empleadores solo se preocupan si puede codificar. Si su CV / currículum muestra que probablemente puede y puede demostrar en una entrevista que sabe lo que hace, muchos empleadores le darán un trabajo.

Sin embargo, algunas compañías tienen la política de solo contratar personas con títulos, y muchas tienen la política de solo contratar desarrolladores con títulos de CS.

No conozco la política de contratación de IBM, pero sospecho que se inclinan hacia la contratación de desarrolladores con títulos de CS. En cualquier caso, un título de CS te da una ventaja, otras cosas son iguales.

En el otro extremo, una compañía de software puede consistir en algunos tipos que hacen todo lo posible para rechazar toda formalidad, teniendo éxito al menos hasta el punto de contratar a cualquiera que pueda codificar. Muchas empresas simplemente no tienen una política explícita, y contratan a quien parezca adecuado; que esas personas usualmente tengan títulos pueden ser tanto un reflejo del tipo de personas que realmente intentan obtener trabajos de software como cualquier otra cosa. Tienden a tener grados.

No tengo un título de CS. Esto ha significado que muchos trabajos estaban fuera de los límites para mí. Pero no creo que haya ningún tipo de rol que no podría haber tenido, con la posible excepción de profesor de CS en una universidad, y existen universidades en el mundo que podrían ser flexibles incluso para el candidato adecuado. Si Bill Gates se postuló para enseñar CS en una universidad, no puedo imaginar que todas las universidades lo rechacen. Algunos considerarían su trabajo pasado como una experiencia investigadora suficiente.

Sin embargo, normalmente no obtendrá un puesto de investigación sin un título de CS, y hay muchas compañías que no lo considerarán sin uno. Se trata más de la política de contratación de la empresa que de las perspectivas. Si una empresa te deja entrar y llegas a un punto en el que tiene sentido hacerte CTO o lo que sea, es poco probable que digan que no puedes ocupar un puesto de alto nivel porque no tienes un título de CS. La pregunta principal es si te contratarán en primer lugar.

More Interesting

¿Cuál es su experiencia con una empresa de TI como ingeniero de software?

¿Cómo es un día típico para un ingeniero de software en Paypal Chennai?

Siempre me siento insatisfecho con la vida. No tengo planes ni metas. ¿Qué debería hacer ahora?

¿Cuál es el lenguaje de programación principal para aprender, para ser ingeniero de software?

¿Qué debe hacer un ingeniero de software senior con más de 8 años de experiencia en la industria de TI, si no quiere asumir la responsabilidad de un líder de equipo?

¿Cómo es trabajar como ingeniero de software en una empresa emergente / tecnológica frente a una gran empresa como un banco?

¿Necesito aprender Oracle DB para convertirme en ingeniero de software Java?

Si la característica más importante de Twitter es el tiempo real, ¿por qué optó por Java en lugar de C ++?

¿En qué medida los ingenieros de software necesitan comprender la computadora y el hardware eléctrico?

¿Los ingenieros de software reparan sus propias computadoras?

¿Cuáles son las características de un mal ingeniero de software?

¿Quién es un tipo de CS que ha hecho brillantemente en la línea de codificación y puede servir como el mejor ejemplo para tales aspirantes que no son de CS?

¿Siempre es difícil ser ingeniero de software honesto?

Cómo comenzar a prepararse para convertirse en un científico de datos

Durante el desarrollo de un nuevo sistema, ¿qué función se espera que realice el modelado de datos y también prepare el diccionario de datos?