Hay ciertos rasgos que todos deben poseer si realmente quieres divertirte y tener un gran impacto mientras contribuyes al código abierto, rasgos como la perseverancia, la disposición a aprender cosas nuevas son algunos muy importantes.
Me gustaría dar ejemplos en los que estos rasgos me ayudaron en mi viaje de código abierto. Luego procedería a hablar sobre el camino que seguí para ser seleccionado para GSoC 2016.
Las bases de código fuente abierto tienden a ser monolíticas. Casi siempre son masivos, hay un sinnúmero de partes que trabajan en conjunto, varios niveles de abstracciones. Estas bases de códigos tienden a ser trabajadas por personas de diferente calibre. A veces son trabajados por expertos, a veces por novatos (como tú y yo) y muchos otros tipos. Cada uno tiene su propio estilo, hay una gran cantidad de soluciones de “hackeo” hechas, que hacen las veces de soluciones temporales. Esto sucede más a menudo de lo que piensas y lo he presenciado personalmente mientras contribuía a mi organización (OpenAstronomy / Sunpy). Para comprender con éxito cuáles son sus objetivos, qué está tratando de implementar y lograr, debe poder leer bien el código de los demás, esto requiere mucha persistencia y perseverancia. Intente tomar una organización aleatoria (que use un idioma que conozca), elija un módulo aleatorio y comience a leer el código. Vería que hay muchas dependencias, diferentes funciones están llamando a otras funciones en otros módulos. Para tener un buen control sobre su objetivo, necesita comprender partes de otros módulos (en los que no estará trabajando). A veces, cambiar algo en un módulo también afecta a otros módulos (esto sucede a menudo, por cierto). Todas las cosas antes mencionadas son desafíos que requieren paciencia, persistencia y perseverancia para vencer. El camino será largo y difícil, pero el viaje, te aseguro que sería gratificante.
- Si me parara fuera de un fondo de cobertura con un letrero pidiendo un trabajo, ¿es probable que obtenga uno?
- ¿Debería completarse un B.Tech dentro de 4 años? ¿Por qué?
- ¿Qué tipo de servicios puede proporcionar un redactor? ¿Es mejor especializarse en uno solo de estos servicios o pasar por todos ellos?
- ¿Qué es mejor: MBA (indio) o maestría en Business Analytics (en el extranjero)?
- ¿Es la ingeniería arquitectónica un campo seguro?
Ahora, llegando a mi propio camino de ser seleccionado para GSoC. Le daría un consejo, siga esto y las cosas estarían a su favor por un amplio margen durante el período de solicitud. Tengo dos palabras para ti, “Comience temprano”. Yo diría que en algún momento de noviembre o diciembre sería lo correcto. Elija una organización que esté seguro de que entrará en la lista de organizaciones para el próximo GSoC. Acércate a ellos y diles que estás interesado.
La principal ventaja que tiene es la proximidad a los mentores de la organización. La mayoría de los mentores son gratuitos durante el período no GSoC. Hágales preguntas interesantes, inunde con todas y cada una de las preguntas que tenga. Al menos, eso es lo que hice. Pregúnteles si hay una funcionalidad que les gustaría ver. Cada organización tiene un hito (una versión de desarrollo que implementan cada año). Vea lo que puede hacer para ayudarlos con eso. Siempre están dispuestos a mirar (de hecho, buscan activamente) tipos ansiosos como tú. Tendría mucho tiempo que puede usar para interactuar personalmente con los mentores. Todo esto sin duda no estará disponible para usted durante o incluso antes del período de solicitud (Todos los estudiantes comienzan a aplicar, en consecuencia, los mentores tienen que distribuir su tiempo juiciosamente y a todos).
Sobre las habilidades técnicas que necesita para GSoC, le aseguro que no necesita ser un “programador de rockstar” o un “profesional” en cualquier marco o lenguaje que utilice. Simplemente tenga competencia básica y desarrolle sobre ella experimentando. Siempre esté atento a las organizaciones que usan su lenguaje / marco. Clone su software en sus sistemas. Lea sus documentos de usuario, pruebe algunos ejemplos. Intenta entender lo que hacen. Luego mire “debajo del capó”, sumérjase lenta y meticulosamente en su código base. Al principio, será un poco desalentador, pero luego te acostumbrarás (sería divertido, una vez que lo hagas). Solo tengo una cosa que decir sobre las habilidades técnicas para GSoC, explorar y experimentar. Eso es todo lo que hay que hacer, de verdad. No poseo ninguna pitón sobrehumana ni ninguna otra habilidad de programación y tampoco muchos otros GSoC’ers. Se supone que GSoC le enseñará cómo convertirse en un mejor programador, no es necesario que sea uno para empezar.
Leí extensamente sobre GSoC, en Quora e intenté asimilar tanta información como sea posible antes de aplicar. Es bueno mantenerse bien y mejor informado que todos los demás. Te sugiero que hagas lo mismo.
Buena suerte y diviértete en tu viaje de código abierto. Que la fuente esté contigo 😉