Programadores de computadoras: ¿Cómo debo distinguirme como futuro estudiante de pregrado de CS?

Cuando estoy contratando, busco tres cosas: inteligencia, impulso y experiencia. Los dos primeros pueden compensar el tercero. Con eso en mente:

– Consigue como en todas tus clases. Este es un indicador confiable de su capacidad para desempeñarse a alto nivel con el tiempo.

– Si puede hacer eso y aún tiene tiempo libre, desarrolle un proyecto de pasión (desafiante) que personalmente le parezca interesante y que le dé una excusa para dominar realmente un dominio. El mío comenzó como un trazador de rayos, y me ha llevado en varios puntos al trazado de ruta, OpenGL, programación paralela y CUDA.

– Si puede hacer eso y aún tiene tiempo libre, obtenga una pasantía en algún lugar que le brinde problemas interesantes para trabajar. Evalúa tu tiempo allí según cuánto estás aprendiendo y creciendo, no por el nombre en el edificio.

– Otra cosa (robada de Joel Spolsky, cuyo blog vale la pena leer): Desarrolle una comprensión de lo que se necesita para que otras personas entiendan sus ideas. Se destacará si puede demostrar que lo hace bien.

La forma más fácil de destacar es no ser un experto en CS.

En algún lugar hay una gran bailarina que se está enseñando a sí misma robótica y tendrá un inicio exitoso cuando descubra cómo modelar la gracia, el equilibrio y la fluidez en el hardware.

En algún lugar hay un genetista de población que no puede creer el estado primitivo de los algoritmos evolutivos. Ella comenzó a reescribir los libros de texto de aprendizaje automático para reflejar la biología real.

En algún lugar, hay una especialidad de literatura comparativa que ha descubierto cómo pensar sobre el código fuente como texto y está haciendo estudios etnográficos basados ​​en repositorios públicos de github.

Si desea destacarse como un científico de la computación, la forma más fácil es aportar un conjunto diferente de habilidades al problema abierto de la informática. Si las habilidades de compsci fueran suficientes para resolverlas, ya estarían resueltas.

Si lo necesita, puede obtener una maestría en compsci después de obtener su título en artes liberales. Eso es más que suficiente para llevarte a la industria.

Los grados son buenos (aunque no les presto atención). Las pasantías son buenas (pero es difícil encontrar una pasantía de pregrado donde puedas hacer un trabajo difícil). Las cartas de recomendación son críticas.

Pero lo que realmente me gustaría escuchar de un solicitante es “Quería entender el problema de la ontología en el aprendizaje automático, por lo que me convertí en un experto en filosofía y usé lo que aprendí para crear una API radicalmente diferente para Google Maps”. Los estudiantes de Compsci no saben que la ontología es un problema; Los estudiantes de filosofía no piensan en términos de API. Si estás uniendo dos mundos, no es difícil destacar.

Si planeas entrar en una investigación (doctorado, preferiblemente en una escuela superior), son necesarias buenas calificaciones, aunque no suficientes.

Si planeas entrar en la industria, bueno, seguro que las buenas calificaciones no te perjudicarán, y es probable que te den una bonificación. Después de todo, alguien con una calificación superior en algoritmos, muy probablemente será bueno en algoritmos.