Aprender a aprender

En 10Pines, los desarrolladores con menos experiencia realizamos el Apprenticeship: un programa de 3 meses en el que aprendemos de todo. Hace un tiempo, egresé de este programa y, en lugar de compartir conocimiento técnico, quiero hablar de algo que nunca nos viene mal: aprender sobre cómo aprender.

Aprender a aprender

En 10Pines, los desarrolladores con menos experiencia solemos entrar por la puerta del Apprenticeship: un programa de entrenamiento de 3 meses en el que aprendemos de todo, desde diseño con objetos hasta metodologías ágiles, pasando por nociones de persistencia e interfaces de usuario. Hace un tiempo, egresé de este programa y, en lugar de compartir conocimiento técnico, quiero hablar de algo que a los que recién empezamos, y a los que no también, nunca nos viene mal: aprender sobre cómo aprender.

Pedir ayuda

La primera actividad técnica que hicimos al principio del programa fue instalar los IDEs, entornos y lenguajes que íbamos a usar durante el mes siguiente, entre ellos Ruby. Como nunca lo había usado, me mareé un poco entre el Ruby Version Manager, seleccionar una versión y que el IDE la reconozca, entre otros problemas. Estuve un buen rato dando vueltas con la documentación. En resumen, una gran experiencia para aprender a valerme por mí mismo, o eso pensaba mientras lo hacía, hasta que uno de los mentores me preguntó en qué andaba, y cuando le conté me contestó: “¡No te quedes trabado con éso, preguntanos a nosotros, que hay mil cosas más para instalar!”

Uno de los valores que nos repiten hasta el hartazgo que debemos tener como desarrolladores es nuestra capacidad de resolver problemas. Sí, sos el junior mas junior del equipo, estás en “training” y querés demostrar que vos podés y que sabés investigar y enfrentarte solo a los problemas. Y, sí. Esas habilidades son súper importantes, pero hay otra lección detrás: Pedir ayuda es algo que hacemos siempre. Siempre surge algo que, por falta de experiencia, porque alguien más ya se lo encontró o porque estamos muy cansados, vamos a consultar. No importa tu seniority ni por cuántos proyectos o trabajos pasaste. Trabarse es parte del oficio y saber cuándo pelearle solo a un problema y cuándo pedir ayuda es clave para ahorrarnos frustración. Ni nuestro tiempo ni nuestra energía son infinitos.

Como heurística para saber cuándo pedir ayuda, me mostraron la técnica del timeboxing: cuando me encuentro con un problema que no puedo resolver, me pongo un timer. Suele ser de una hora o media, en la que me concentro en resolver el problema yo solo, investigando y probando lo que se me ocurra. Pasado este tiempo, lo más probable es que la forma de avanzar sea con la ayuda de alguien, ya sea porque conozco a alguien del equipo con más conocimiento en este tema específico o simplemente porque un par de ojos más frescos ayudan más que mil posts de StackOverflow.

Si quieren seguir leyendo un poco más sobre cómo avanzar cuando estamos trabados con algo, este post tiene varios otros tips.

Dar tu punto de vista

Algo que me pasó mil veces durante estos tres meses fue no animarme a dar mi opinión o, más bien, decir lo que sabía sobre ciertos temas. La cosa iba más o menos así: el equipo de mentores venía a explicarnos algún tema, del cual alguna idea tenía y cuando me preguntaban no contestaba: simplemente me proponía reaprender este tema con lo que me contaran ellos. Con el tiempo, me di cuenta que me servía mil veces más decirles lo que yo sabía, dar mi opinión, sin esperar tener razón. El 80% de las veces, habían cosas que no había entendido bien y me había equivocado o me había faltado algo. Ese 80% fue mucho más importante que el otro 20% en el que tuve razón.

Nos vamos a equivocar muchas veces, y equivocándonos vamos a aprender mucho más que sentándonos en silencio a absorber conocimientos. No es posible aprender todo a la primera: siempre van a quedar malentendidos, agujeros, o alguna duda dando vueltas. Comentar lo que sabemos, discutirlo y ponerlo ahí fuera para que todos lo vean es la mejor forma de llenar esos huecos.
Equivocarnos es una de las partes más difíciles del proceso, y, para sobrellevarlo mejor, les dejo este post, con la experiencia de otra ex-apprentice sobre equivocarse, frustrarse y aprender.

No quedarte en lo conocido

Durante el primer mes, en el que fuimos haciendo ejercicios por nuestra cuenta, tuvimos ciertas opciones sobre en qué lenguajes ir trabajando. Cuando entré, sólo manejaba una de las opciones, por lo que, lógicamente, empecé a resolver las katas con ese lenguaje. Sin embargo, en cuanto empecé a charlar con mis mentores, me sugirieron que no me quede sólo con eso y que explore las otras opciones. No tardé mucho en entender e implementar ese consejo: hay mil cosas para aprender.

No hablo sólo de cuando estamos aprendiendo: hay lugar para experimentar cosas nuevas en todos lados. Sin embargo, cuando estamos aprendiendo (cuando hacemos un curso, cuando hacemos un proyecto por diversión) es común quedarse con la opción más conocida. Si bien intentar entender todo solo va a lograr abrumarnos y que no avancemos en ninguna dirección, quedarnos con lo que ya sabemos puede no ser lo mejor para crecer. Por eso, el tercer aprendizaje que me llevo de este apprenticeship es que quedarnos en lo que ya sabemos es quedarnos en un lugar cómodo y seguro, pero hay mucho, muchísimo más que aprender si nos levantamos, nos estiramos un poco y salimos a explorar. Aprovechemos cada oportunidad, exploremos siempre que podamos. Nunca se sabe que hay debajo de cada piedra, esperando a que lo descubramos.