Hice mi licenciatura allí con mi último año en Carnegie Mellon, que en realidad produce entre los mejores programadores del mundo.
Yo diría en general que EPFL no tiene como objetivo producir programadores. La gran diferencia entre CMU y EPFL es el plan de estudios. CMU tiende a ofrecer la opción, puede tomar cursos para convertirse en un gran programador o un científico de CS. EPFL tiende a forzarte hacia la ciencia hasta que llegas a la escuela de posgrado.
Pregrado:
En una escuela superior de los EE. UU., Por lo general, tendrá 4/5 cursos por semestre. En general, los cursos son pesados y tienen grandes proyectos que involucran mucha programación. En EPFL, por otro lado, casi no eliges ninguno de tus cursos, tendrás 7/8 más pequeños y los proyectos tienden a ser completamente guiados. Pero el curso teórico es más profundo y más riguroso, especialmente en matemáticas (hablo por experiencia).
La intuición detrás de este enfoque es que después de una licenciatura de EPFL, no se supone que trabajes, sino que entiendas los fundamentos de todo para poder hacer tu maestría.
- ¿Cuál es el punto de la estructura de datos y las preguntas de algoritmos en las entrevistas? (ver comentario para más detalles)
- ¿Qué tipo de libros recomienda leer mientras se prepara para codificar entrevistas?
- ¿Qué temas debo estudiar en Java para limpiar entrevistas de programación?
- ¿Por qué solo las preguntas relacionadas con algoritmos se hacen principalmente en entrevistas a los grandes?
- ¿Resolver 3000 preguntas de algoritmos en 3 años es suficiente para prepararse para las entrevistas de Google y Facebook?
Una comparación rápida para resumir:
en CMU, las personas están muy orientadas al sistema, la clase de sistema operativo, por ejemplo, es masiva. Mientras que en EPFL, la clase de sistema operativo es más un curso informativo con un pequeño proyecto.
Por otro lado, cualquier estudiante de tercer año en EPFL debería ser capaz de manejar geometría diferencial y, en la mayoría de los casos, cálculos complejos. Por supuesto, esto es inútil si quieres ser programador.
Escuela de posgrado:
La gran diferencia aquí es que en Europa no encontrarás trabajo con un soltero. El plan de estudios está diseñado para ser un programa de 5 años, por lo que todos hacen una maestría.
Para la escuela de posgrado, los estudiantes eligen todos los cursos que desean, finalmente tienen la libertad de elegir. La mayoría de los “cursos pesados” están orientados a la investigación, y los laboratorios de CS en EPFL se encuentran entre los mejores del mundo. Puede elegir ser un programador superior si toma los cursos correctos para eso, pero será más sobre temas de investigación como big data o visión por computadora en lugar de desarrollo web o programación front-end.
Y no estoy de acuerdo con la afirmación de que son programadores promedio. Simplemente no es cierto, como dijo Yuliy, conozco a muchas personas que terminaron en Silicon Valley. Si el número es limitado, es solo porque muchas personas no están tratando de llegar tan lejos. La mayoría de ellos terminarán en Google Zurich, o Cisco cerca de Lausana, etc.
En cuanto a las entrevistas técnicas, estoy de acuerdo en que un graduado de CS de CMU tiene más probabilidades de tener éxito que un equivalente de EPFL. Y esto se debe al formato y las preguntas formuladas:
Por lo general, en una entrevista de Google, le harán preguntas profundas sobre el curso del algoritmo, que es algo similar en cualquier parte del mundo. Pero en EPFL, es un estudiante de segundo año con solo 6 horas por semana, mientras que en CMU es una clase MASIVA, tomada entre estudiantes de segundo y tercer año. Entonces, si un estudiante promedio con una licenciatura de CMU recibe una pregunta de esta clase, que tuvo 1-2 años antes, por supuesto que la dominará mejor que un MS de EPFL que lo hizo hace 3 años con menos profundidad. Pero de ninguna manera, este es el criterio para decir que este graduado de CMU es un mejor programador que el graduado de EPFL. Aquí se trata más sobre el sesgo en la entrevista.
Para resumir esta larga respuesta, iría con mi punto inicial: el objetivo principal de EPFL es producir científicos, no programadores. Pero también puedes encontrar un montón de grandes programadores en el camino (aunque no tanto como CMU)