¿Cómo puede un estudiante universitario de matemática pura sin una sólida formación en programación pasar a una empresa tecnológica?

Recientemente me uní a una compañía de tecnología como analista / científico de datos justo después de graduarme, y solo 5 meses después de ser rechazado de la escuela de posgrado y decidir que necesitaba un trabajo. Aprendí mucho CS / stats, obtuve una pasantía y luego un trabajo a tiempo completo.

Tienes la idea correcta, la programación es una habilidad extremadamente importante para conseguir un trabajo que sea remotamente relevante para las matemáticas (y por lo tanto aprovecha tus habilidades, aunque ten en cuenta que básicamente nunca usarás nada más que álgebra lineal y cálculo). Afortunadamente, la barra es un poco más baja para algunas posiciones relacionadas con el análisis de datos en lo que respecta a la habilidad de desarrollo de software.

Afortunadamente para usted, los programadores y los estadísticos se toman en serio las especialidades en matemáticas, por lo que no tener tanta experiencia de dominio en CS o estadísticas está parcialmente perdonado.

Hay un par de ingredientes esenciales para conseguir un trabajo:

  1. Sea lo suficientemente bueno en la programación para que pueda hacer algo significativo. Esto significa conocer bien al menos un idioma lo suficientemente bien como para que pueda recoger las herramientas que no conoce rápidamente y hacer lo difícil. Conocer Python será extremadamente útil: pandas es tu mejor amigo, y también sabe cómo trabajar con matrices numpy para que puedas aprovechar scikit-learn y scipy, junto con muchos otros paquetes. Conozca Matplotlib, porque a todos les encantan las imágenes agradables. En el lado del análisis, conocer R es una ventaja, y conocer Java / C ++ es bueno para aumentar sus credenciales de codificación.
  2. Obtenga experiencia laboral de la que pueda hablar. Una vez que tenga las habilidades, debe convencer a las personas de que realmente las tiene. Intente obtener una pasantía si no está haciendo el recorte para trabajos a tiempo completo, si no puede obtener una pasantía, encuentre concursos en línea donde pueda hacer un proyecto para demostrar que puede hacer un trabajo real. Hackerrank tiene algunas cosas, Kaggle es genial y esencialmente cómo obtuve una pasantía, y hay muchas más. Quizás encuentre un trabajo de analista relacionado tangencialmente e intente automatizar las cosas y use las herramientas más nítidas que tiene en lugar de Excel. Puede que tengas suerte y que alguien te contrate en base a “las personas matemáticas son inteligentes y confío en que puedas aprender”, pero no cuentes con eso.
  3. Ponte en posición de ser contratado. Prepárese para entrevistas, postule a muchos lugares, en red Lea sobre la industria, esté informado. Comprender la cultura y las expectativas le brinda una mejor oportunidad de obtener la oferta. Adapte su propio currículum para atraer a estas empresas y destaque, incluso lo que hace mientras todavía está en la escuela; Tener muchas clases de matemáticas difíciles en mi transcripción me abrió muchas puertas.

Finalmente, incluiré una lista de lo que considero las habilidades “imprescindibles” para un “científico de datos”, que es quizás la posición más natural para la transición de un estudiante de matemática pura. Podría ser parcial ya que he trabajado en startups fintech y un fondo cuantitativo.

  • Python, particularmente los paquetes que mencioné anteriormente. Es un lenguaje con el que puedes “hacer todo” y es inmensamente popular.
  • SQL, al menos lo más básico. Es un lenguaje bastante intuitivo que es fácil de usar, por lo que aprender esto sobre la marcha no es tan malo.
  • Estadísticas básicas, la parte más difícil es la jerga estadística molesta (desde una perspectiva matemática). Sepa qué es un puntaje Z, una prueba t, un error de muestra, etc., que son las estadísticas inferenciales básicas. Esto se puede recoger con algunos videos de cursos en línea.
  • Aprendizaje automático básico, la clase Coursera de Andrew Ng es bastante buena, pero también debes aprender cómo funcionan los árboles de decisión que no cubre. Los conjuntos de árboles son extremadamente populares y útiles.

Si puedes codificar, estás bien. Tech no es un club exclusivo, es una de las meritocracias más puras.

Si quiere demostrar que puede codificar, comience a contribuir a proyectos de código abierto. Sé que Github puede parecer un poco desalentador, por eso me encanta una compañía llamada Asamblea, ponen una cara muy amigable al convertirse en un contribuyente de código abierto. Si está buscando proyectos, iría allí y vería si algo le parece interesante. Luego, comience a involucrarse en la comunidad y vea las próximas reuniones (que se centran en los desarrolladores y no en las redes).

No necesitas un título de CS para ser ingeniero. De hecho, es probable que no se pierda demasiado al seguir con las matemáticas puras. Te sorprendería la cantidad de automotivación que los estudiantes de CS necesitan para obtener experiencia práctica en programación y no solo experiencia teórica.

Considere la posibilidad de analizar la analítica como una forma de aprovechar su sólida formación matemática. Los modelos que desarrollas son más importantes que la programación, pero no escaparás de la programación. La ventaja es que el análisis requiere que conozca las tecnologías utilizadas para administrar grandes conjuntos de datos y técnicas para procesarlos. No tiene que estudiar cosas como los sistemas operativos, redes, compiladores, etc. que haría en un plan de estudios CS completo. Requerirá un poco de estudio, pero puede encontrar recursos en la web que lo ayudarán con eso.

Desafortunadamente, para la parte de programación, la única forma de mejorar la programación es hacerlo. Entonces, encuentre algunos proyectos para hacer en su tiempo libre. Learn R (El Proyecto R para Computación Estadística). Pasa el verano sumergiéndote.

La ventaja de seguir la ruta analítica es que no estará vinculado a las empresas tecnológicas. Las empresas de todo tipo (por ejemplo, bancos, publicidad, médicos, etc.) necesitan personas que puedan exprimir el valor latente de las cantidades masivas de datos que recopilan.