¿Necesitas tener un título de CS para ser ingeniero de software?

Probablemente esté cerca, pero creo que conozco más graduados que no son CS (desde campos que van desde la biología hasta la bioquímica, la física, las matemáticas, la ingeniería química y la historia, aunque eso último fue una finalización tardía de la vida de alguien que había sido trabajando en IBM sin uno desde los años 60) trabajando como ingenieros de software que CS. Al menos en Bloomberg, tenemos dos pistas para desarrolladores de software; uno admite mayores de CS, y el otro es para mayores que no son de CS. El programa de capacitación para estudiantes que no son estudiantes de CS es el doble de tiempo, para ponerlos al día en conceptos como estructuras de datos y algoritmos, pero el consenso general es de 12 a 18 meses después de comenzar a trabajar, los dos tipos son indistinguibles en la calidad del trabajo y productividad. Para ser claros, estamos hablando de personas que pueden haber estudiado la materia mucho más lejos que las matemáticas.

Me cuesta pensar que alguien pueda obtener un Ph.D. en matemáticas en estos días sin al menos algún nivel de habilidad de programación. Si le gusta programar, simplemente siga haciéndolo, publíquelo en GitHub e intente concursos como Kaggle o HackerRank, y no debería tener problemas para ser un empleado de software creíble. Especialmente dada la cantidad de empresas de software y tecnología centradas en los datos ahora, la experiencia en dos campos centrados en el modelado y el análisis de datos, como las matemáticas y la economía, junto con las herramientas de codificación lo convertiría en un mejor candidato que la mayoría.

Habiendo dicho todo eso, estás buscando al menos seis o siete años para completar una licenciatura y un doctorado. Es un gran costo de oportunidad si no recibe ayuda financiera, así que decida por qué quiere hacerlo, cuánto gastará y cuánto deuda tendrá que asumir para hacerlo. Odio hablar de educación simplemente como una inversión o un bien comercializado, cuando debería ser su propia recompensa, pero al menos en los EE. UU., Su costo es tan significativo en tiempo y dinero que su efecto en el bienestar de por vida puede ‘ No se debe tener en cuenta, especialmente la matrícula de posgrado.

Personalmente, creo que los entornos de inicio web actuales hacen demasiado hincapié en CS, algoritmos y programación. El campo, particularmente el aspecto empresarial de la empresa, necesita diseñadores de sistemas, analistas y generalistas y especialistas más allá de simplemente codificar un rompecabezas de navegación en árbol en Java o recitar un algoritmo memorizado. Uno de los mejores analistas de sistemas con los que he trabajado tenía experiencia en antropología. Se acercó a las organizaciones empresariales de la misma manera que exploraría una nueva cultura: encontrar sus objetivos, aprender el idioma e identificar aspectos comunes / diferentes de su punto de vista sobre los problemas cotidianos (no necesariamente en ese orden). Ella trataba a las culturas desarrolladoras de la misma manera y su habilidad para administrar reuniones era hermosa de ver.

Para volver a la pregunta, depende de tus objetivos. Si quieres un trabajo en la mayoría de las startups web, tienes que jugar su juego. Los graduados de CS tienen una ventaja en el mercado actual. Si desea una carrera en informática empresarial, creo que un título de CS es menos importante que las habilidades innatas y cómo aplica lo que sabe a las necesidades del negocio.

Después de trabajar en una empresa de desarrollo de software durante algunos años, vi muchos currículums (currículums) con títulos de CS de algunas grandes universidades. Sin embargo, al reunirme y luego probar (hacer que estas personas escriban código), descubrí que un excelente título de CS no necesariamente se traduce en la capacidad de escribir un gran código en un entorno comercial. Además, a menudo encontramos que algunos de nuestros mejores desarrolladores de software no tenían un título de CS o, en realidad, ningún grado.

Mi consejo sería:

  • Quédese con sus opciones de grado si eso lo hace feliz.
  • Escriba código y mucho, todos los días.
  • Trabaje en colaboración en proyectos de código abierto en un entorno compartido como GitHub para obtener experiencia.
  • Haga público su código para que reciba comentarios sobre lo que escribe y tome nota de lo que otros dicen.

En mi humilde opinión, es más probable que consigas un trabajo porque tienes experiencia trabajando en proyectos y alguien ve que escribes un buen código, en lugar de porque tienes un certificado de grado (CS).

HTH y buena suerte! 🙂

Aquí hay un extracto del sitio web de Google (en la sección de preguntas frecuentes de Google Careers):

“¿Necesito un título en informática para ser ingeniero de software de Google?

No, no se requiere un título de CS para nuestros roles de ingeniería de software o gerente de producto “.

No creo que nadie pueda garantizarle que no tendrá dudas en algunas compañías durante las entrevistas; sin embargo, es probable que varias compañías, incluida Google, estén dispuestas a entrevistarte si eres un buen programador. Además, desea obtener un título en un campo que comúnmente se asocia con CS (matemáticas) y dudo mucho que una empresa se niegue a entrevistarlo únicamente por el hecho de que no tiene un título de CS. Dicho esto, probablemente debería tomar algunos cursos en su universidad en CS para obtener el apoyo de otras personas que probablemente pasarán por el mismo proceso de entrevistas en grandes empresas como Google, Facebook o Twitter. Personalmente, creo que debería seguir obteniendo sus títulos en Economía y Matemáticas si está más interesado en especializarse en esos campos en lugar de CS.

No. Lo mejor de convertirse en desarrollador de software, particularmente en este momento, es que hay muchas maneras de aprender a escribir software.

Dado un currículum de alguien con un título de CS y sin experiencia demostrable en comparación con alguien con un poco de experiencia en la vida y algunas buenas contribuciones en github o Stack pero sin ningún título, estoy contratando el segundo.

¿Puedes caminar y hablar? Bueno, entonces un requisito de grado CS desaparece. Entrar en Software Engg sin un título no es necesariamente común o poco común. Es algo que sucede, la forma en que sucede la vida. Hay muchas razones por las cuales alguien podría no terminar con un título: es posible que no tengan el dinero para la universidad, que no les vaya bien en un entorno académico, que hayan pasado de otro trabajo o campo. Pero se destacaron en convertirse en un ingeniero de software … Conozco bastantes. Mucho se reduce a cómo te gusta aprender, cuáles son tus preferencias, cuáles son tus recursos … Punto.

No lo creo. Aunque estudiar en la escuela te permite tener una comprensión total, aprender en el trabajo puede ser una forma rápida.
Mi hermano, un ingeniero de software, me dijo que el conocimiento que obtuvo en la escuela solo le hizo saber lo básico, y que tenía que aprender más solo cuando se enfrentaba a un trabajo real. Además, dio un consejo de que aprender un lenguaje de software fácil y útil, python, primero. Este lenguaje se está utilizando en el análisis de datos, y es nuevo y práctico. Por supuesto, si quieres ser un verdadero ingeniero de software, entonces tal vez tengas que aprender C ++, Java, incluso el lenguaje IOS, un lenguaje solo para el sistema iPhone.

Si obtienes un Ph.D. en matemáticas, eso solo debería ponerte en buena posición. Si también obtienes un título de Econ, serás arrastrado a muchas cosas más interesantes y desafiantes que la programación.