Quiero hacer tanto GSoC como ACM ICPC. También quiero una pasantía y trabajo en Google. ¿Cuál debería ser mi estrategia?

La pregunta vuelve a ser un Jack o convertirse en un Maestro. Los 3 de tus sueños requieren que seas un gran programador, pero te ponen a prueba de manera diferente.

TL; DR; Una estrategia de una palabra, que es el mejor consejo, es practicar, concentrarse y no renunciar.
¿Cómo? Eat Sleep Code Repeat.

Aquí viene el detallado …

Google Summer of Code

La selección de GSoC depende de muchas cosas, pero es posible que un programador promedio con dedicación sea seleccionado. Puede comenzar en diciembre / enero y aumentar sus posibilidades de selección. GSoC no tiene nada que ver con la programación competitiva y requiere la habilidad de construir cosas que pueden ser software, aplicaciones, herramientas de desarrollo, idiomas, sistemas operativos, etc.

Conclusión: Jacks puede romper el GSoC, ganar $ 5000 y olvidarse del proyecto de código abierto. Por otro lado, convertirse en maestro requeriría que continúe contribuyendo a proyectos de código abierto y que algún día se convierta en un contribuyente principal de algunas grandes bibliotecas, marcos o idiomas de código abierto.

ACM ICPC

Jack:
Si solo quieres experimentar cómo es una experiencia ACM ICPC, entonces participar en ella es bastante fácil.

Maestro:
Por otro lado, si sueñas con ganar a nivel regional, representas a tu país a nivel nacional o te conviertes en el ganador, entonces permíteme advertirte, las personas con las que compites son bastante sólidas y modestas, son grandes programadores. y solucionadores de problemas. Los genios natos, que tienen un talento excepcional en matemáticas y programación, con mucha práctica llegan a la final y compiten por llegar a la cima. Los cerebros genios sin práctica perderían a los que han practicado más de la manera correcta.

Trabajo en Google.

Las entrevistas tratan sobre matemáticas, estructuras de datos y algoritmos.

Jack:
GSoC le conseguirá una entrevista en Google separándolo de las infinitas solicitudes de empleo que reciben. También hay muchas otras formas de obtener una entrevista (recomendación de empleados).

Las habilidades de ACM ICPC de programación competitiva lo ayudarán a borrar las entrevistas de codificación, lo que sucede en las fases iniciales del proceso de reclutamiento.

Ser Jack y no convertirse en maestro de ninguno de los anteriores, y aún tener una sólida comprensión de los conceptos básicos de informática será suficiente para conseguir un trabajo en Google.

Maestro:
Solo las contribuciones de código abierto y las excelentes habilidades de desarrollo de software no serán suficientes para que un maestro consiga un trabajo en Google a menos que puedan eliminar las fases básicas de resolución de problemas del reclutamiento.

Los maestros de ACM ICPC descifrarían la entrevista de Google con bastante facilidad a menos que se pusieran nerviosos en condiciones de entrevista.

Algunas verdades brutales:

  • Convertirse en maestro de ACM ICPC para un programador promedio es muy difícil. Después de un nivel no podrás mejorar y ese es el punto donde la mayoría de las personas se rinden. Si aún puedes seguir adelante y creer que la práctica puede hacerte mejor, solo entonces te convertirás en un Maestro algún día. Esto puede ser un viaje de por vida.
  • Aunque Google probó las habilidades de resolución de problemas en el proceso de entrevistas, solo unos pocos tienen la suerte de trabajar en estructuras de datos y algoritmos cuando comienzan su trabajo, el resto tendrá que trabajar en el desarrollo de aplicaciones.
  • Ser Jack, disfrutar de tu tiempo de programación y no tratar de convertirte en un maestro te dará más felicidad pero menos reconocimiento.

Conclusión: disfrute de su viaje con la programación, dedique más y más tiempo para mejorar sus habilidades y tenga la seguridad de que la industria del software y los programadores lo respetarán.

Algunos enlaces que pueden ayudarlo a ponerse en marcha:
La respuesta de Saheb Motiani a ¿Cómo debo comenzar a prepararme para Google Summer of Code 2018?
La respuesta de Saheb Motiani a ¿Cómo se siente ser un GSoCer? ¿Dónde se realiza la pasantía? ¿Es el trabajo desde casa o el habitual? ¿Qué aprendiste y para qué te hiciste?
La respuesta de Saheb Motiani a ¿Cuál debería ser mi estrategia y mi dedicación de tiempo si quiero participar en GSOC / Code Jam 2015?

Es genial que te apasione el código abierto y la programación competitiva. En cierto sentido, son complementarios y ambos lo ayudan de forma independiente a conseguir un trabajo en Google.

Como ya sabrás, ACM ICPC es un evento grupal. Si te tomas en serio la participación en él, debes formar un buen equipo y comenzar a resolver tantos problemas en Topcoder y otros sitios. Esta respuesta La respuesta de Anudeep Nekkanti a ¿Cómo fue reclutado Anudeep Nekkanti para Google, Zurich? debería ser motivador Anudeep estaba en los mismos zapatos que usted, sus excelentes habilidades de programación competitiva lo ayudaron a conseguir el trabajo.

Para ingresar a GSoC, debe elegir un conjunto de proyectos que le apasionen y tratar de enviar algunos parches antes de enviar su solicitud. Definitivamente es una ventaja si algunas personas involucradas en el proyecto (desarrolladores principales) lo conocen. Consulte la página Google Summer of Code 2015 para conocer los plazos. Como GSoC’er anterior, puedo decirle que después de completar con éxito un proyecto GSoC, puede obtener una referencia interna y, por lo tanto, una oportunidad fácil para una entrevista con Google.

Es realmente difícil hacerlo todo juntos.

Permítanme comenzar diciendo que es totalmente posible. Conozco personas que han hecho GSoC, Google Internship y también son excelentes programadores competitivos. Eso, junto con un trabajo de investigación increíble también.

Puedes hacer todo, pero hay un precio que pagar y eso es mucho más trabajo. La mayoría de las personas elegirán un camino. Si eres inherentemente bueno en programación y resolución de problemas, estas cosas son muy diferentes. Son las mismas cosas en el núcleo.

Siga resolviendo tantos problemas como pueda en OJs, lo que estoy seguro de que ya está haciendo. Vaya a Google Summer of Code 2015, encuentre organizaciones anteriores, haga una lista restringida de acuerdo con su área de interés y luego comience a contribuir a su código. Únase a las listas de correo. Hacer preguntas. Consigue ayuda. Consulte la documentación.

Es cierto que muchos estudiantes de GSoC obtienen referencias para pasantías en Google. Por lo tanto, una vez que haga GSoC, será una gran ventaja para su aplicación. Sin embargo, esto no es muy cierto para la programación competitiva. A menos que seas demasiado bueno (que son muy pocos), a menudo se pasa por alto. Pero te ayuda mucho con las entrevistas.

Una vez que realiza una pasantía en Google, el camino para un puesto de tiempo completo es sencillo. Solo necesita pasar por 2 rondas más de entrevistas.

¡Ves que todo esto está conectado! Todo lo mejor 🙂