Google Summer of Code. Cómo aprender trabajando en proyectos reales? Obsolescencia Desprogramada.

Google Summer of Code ( GSoC )

Google Summer of Code

Qué es Google Summer of Code?

GSoC es un programa iniciado en 2005, desde entonces se realiza todos los años con el objetivo de dar la oportunidad a estudiantes de trabajar en proyectos de software libre durante los meses de mayo a agosto.

Qué conocimiento requiere para participar?

Para tener más probabilidades de ser elegido para participar en el programa es necesario tener experiencia utilizando algún programa de software libre de los cuales sea necesario utilizar en alguna de los proyectos o tener experiencia desarrollando algoritmos y programación. Además también va a requerir mucha investigación y conocimientos de la lógica de negocio del caso en el que se participe. 

De todas formas, en lo que más énfasis se hace en GSoC es en el trabajo en equipo con la comunidad.

Cómo se postula?

Antes de postularse es recomendable realizar una investigación previa de los proyectos de años anteriores para tener una noción más clara al momento de elegir organización por la cual postular e ir practicando, ya que, algunas solicitan una prueba para poder ser elegible y además para ir avanzando tanto en la preparación técnica como en la investigación para conocer la lógica de negocio. 

Se puede entrar en la web de Google Summer of Code y allí en la parte de archivo se tiene la posibilidad de investigar proyectos anteriores.

Para participar del programa es necesario manejar el idioma inglés dado que los proyectos se desarrollan en equipos distribuidos con personas de todo el mundo e inglés es el idioma que se tiene en común.

Cuántos estudiantes son aceptados para participar?

Ser aceptado para participar en el programa es el primer logro importante, dado que del total de postulantes solo es aceptado entre un 20 y 25 % de los aspirantes.

Ventajas de participar en el programa?

Participar de GSoC es una experiencia de crecimiento, tanto individual como colectivo.

Es una importante experiencia laboral, en algunos casos la primera experiencia remunerada y además del gran aprendizaje que se tiene, el desarrollo de habilidades técnicas, aprender metodologías de trabajo ágiles que aplican las principales empresas en el mundo y generar un portfolio disponible a acceso público, el foco principal que se hace en el programa es en el desarrollo de habilidades blandas en el trabajo con el o los mentores, la organización y la comunidad de desarrolladores de GSoC y de la organización.

También se aprende a gestionar proyectos de forma ágil, eficiente y adaptándonos a los cambios que surjan tanto por la presión del tiempo, por nuevos requerimientos o porque en el proceso de investigación y desarrollo se ve que es necesario re plantear los objetivos del proyecto.

Cómo lograr un proyecto exitoso?

Luego de ser elegidos para participar el siguiente desafío es lograr un proyecto exitoso y poder cumplir los objetivos planteados en la propuesta realizada, para esto es imprescindible ser proactivo para buscar soluciones. Además de tener que dedicar mucho tiempo en investigación y desarrollo es necesario tener una comunicación fluída con los mentores como representantes de la organización patrocinadora y con la comunidad.

La interacción con la comunidad como mínimo se realiza una vez por semana cuando se reporta lo que se hizo, lo que se va a hacer y si se está trancado en algo. Los proyectos son dinámicos y pueden ir cambiando los objetivos en base a las nuevas necesidades o reajustar en caso que se haya sido muy ambicioso en la propuesta inicial o por si surgen problemas o una línea diferente de desarrollo, lo importante es siempre estar comunicando en qué se está y trabajar en equipo.

Herramientas generales.

Para el desarrollo de las tareas se utiliza un repositorio y además hay que hacer una wiki para ir registrando lo realizado puede ser tanto en una web provista por la organización como en un repositorio público.

Para la comunicación si utilizan mail list, se tiene una correspondiente al programa de GSoC y dependiendo de cada proyecto es común tener una con los desarrolladores de habla inglesa y se puede tener más en otros idiomas.

Además en la web de GSoC se tiene los detalles del proyecto, una timeline que nos ayuda a organizarnos y desde esa web es donde se realizan las entregas.

Google Summer of Code Timeline.

En la línea de tiempo tenemos los puntos claves del proyecto, las fechas que debemos cumplir con informes y las entregas. Con lo requerido en estás fechas claves se debe cumplir sino automáticamente quedamos afuera del proyecto.

En la timeline tenemos marcado:

  • Periodo en el que las organizaciones mentoras pueden subir las propuestas para proyectos.
  • Tiempo que tienen los administradores del programa de GSoC para revisar las propuestas para aplicar. 
  • Lista de los proyectos aceptados y la fecha de postulación para aplicar a los mismos.
  • Periodo para que los estudiantes puedan interactuar y consultar con las organizaciones mentoras.
  • Periodo de aplicación a algún proyecto, se tiene un máximo posible de 3 proyectos a los cuales aplicar en un mismo periodo.
  • Periodo que tienen las organizaciones para resolver a quienes aceptar.
  • Fecha de anuncio de quienes fueron aceptados en el programa.
  • Community Bonding Period, periodo en el cual se avanza ya con la certeza de haber sido elegido y profundiza en la documentación e investigación, a la vez, que se da un mayor relacionamiento con los mentores encargados del proyecto.
  • Fecha de comienzo del periodo de codificación.
  • Fechas de la fase 1 de evaluaciones.
  • Fechas de la fase 2 de evaluaciones.
  • Evaluación final, en la que se debe realizar un informe final de todo el proyecto y se entrega junto con todo lo que ya se debe haber ido publicando, tanto la codificación realizada como toda la documentación.
  • Fecha en que los mentores deben enviar la evaluación final.

Publicar un comentario

0 Comentarios