4ª semana fuera. Ecuador del curso. El tiempo vuela.
De todo lo que he podido aprender y darme cuenta esta semana, la conclusión final tiene más que ver con el proceso de aprendizaje que con la programación. Lo cual no quita que haya aprendido un montón de cosas sobre Rails (el tema de la semana).
Oh Rails... Ese pequeño monstruito que fué lo primero que toqué de programación de verdad (HTML y CSS no me da la gana de contarlos como lenguajes de programación) hace ya un poco más de cuatro meses. Desde entonces nos hemos visto las caras un puñado de veces en multitud de formas. Desde versiones cutres de Pinterest a los zombies de Code School, pasando por una web para comprar libros de mentira.
Porque sí. Esta ha sido la cuarta vez que le meto mano. Y parece que por fin mi cabeza ha hecho click del todo y ya sé dónde se pone cada cosa y cómo funciona la magia de las rutas, entre otras cosas.
Y de eso quería escribir hoy. De cómo ha sido el proceso de entender cómo funciona, porque estuve pensando sobre eso tras una conversación muy interesante que tuve con uno de mis compañeros.
Los dos compartimos una similitud. Venimos de mundos que no tienen nada que ver con la programación. Y cuando digo nada, me refiero a absolutamente nada.
Sin embargo a día de hoy nuestra situación en el curso no es la misma. Mientras que yo más o menos me estoy defendiendo y voy entendiendo casi todo, a él todavía se le pega el código y le cuesta trabajo pillar las cosas.
Y no es que yo sea muy listo. Creo que la clave es otra cosa muy distinta a la inteligencia. La diferencia reside en el tiempo que le he dedicado a estudiar esto durante los últimos meses. Un montón de horas al día en las que aplicaba el aprendizaje por fuerza bruta.
Cuando aprender es una cuestión de perseverancia
No voy a negar que la inteligencia puede jugar un papel importante en todo esto. Pero en ausencia de ella, no hay que desesperar. A veces la cabezonería y el no rendirse pueden ser la llave para conseguir lo que quieres.
Recuerda. El obstáculo es el camino...
El aprendizaje por desgracia no es algo lineal. Es algo sobre lo que he leido y que he experimentado en mis propias carnes montones de veces. Desde habilidades como la fotografía o aprender a jugar a algún videojuego, la gráfica que viene a continuación refleja muy bien cómo es el proceso.
Los primeros contactos con la materia te dan un subidón, te crees que ya lo dominas todo y que eres el nuevo maestro ninja de lo que estás estudiando. Pero amigo. Es una ilusión.
Al final siempre llega el punto de inflexión en el que caes en un pozo sin fondo donde parece que no avanzas, todo te sale del revés y lo que parecía que entendías perfectamente se ha vuelto oscuro y tenebroso.
Pero al igual que ese punto de inflexión llega, un poco más tarde si sigues estudiando y practicando el tiempo suficiente poco a poco te recuperas y la curva se estabiliza en un ascenso más o menos uniforme.
Tener esta información es fundamental. Te sirve para anticipar que llegará ese punto de bajón en el que tendrás que apretar los dientes y aguantar.
Además saberlo te permite acelerar los ciclos o jugar con ellos. Una de las razones por las que entré en Ironhack era precisamente por esto. Al comprimir el aprendizaje en menos tiempo vas quemando las etapas mucho más rápido, aunque sea en detrimento de tu salud mental y emocional.
Y en la cuarta ronda llegó el KO
Quizás el caso más significativo de esto haya sido mi historia con Rails. Con él tuve mi primer encuentro real con el mundo de la programación. Sucedió hace unos cuatro meses. Y todo pareció mágico y bonito. Creía que ya podía hacer páginas web como churros.
Pero cuando me volví a poner con el tema, un mes después, la magia había desaparecido. No entendía nada y no sabía dónde meter cada cosa.
En los meses siguientes antes de entrar en el bootcamp tuve dos contactos más con Rails. Cada intento lo intercalé con un periodo de estudio de otras materias como Ruby, Javascript, CSS...
Así, al alternar materias nuevas, coincidiendo con los puntos bajos de la gráfica, minimizaba el efecto pernicioso de desesperación.
Además, cuando vuelves de nuevo a la materia tienes un punto de vista nuevo. Has asimilado parte de lo que ya has visto y te permite enfrentarte a conceptos más dificiles.
Es curioso porque el primer contacto con cada una de las tecnologías que estudié era como una bofetada en la cara. Un no entender nada. Pero con cada nueva incursión tras un tiempo de dsecanso, todo se va poniendo en su sitio.
Otra de las cosas que más me gusta de aprender a programar es la posibilidad de poder experimentar sin miedo a liarla. La puedes liar sin problema, que si vas comiteando (guardando para los que no entienden de esto) de manera frecuente puedes romper el programa sin miedo.
Pero al final de todo, como decía, la clave es el control de los sentimientos. Saber que la desesperación vendrá. Que habrá ejercicios que no te salgan y que hay cosas que no sabrás hacer y tendrás que echarle horas y horas para encontrar la solución.
Pero eso es aprender. Es tomarte cada cosa que no sabes como un obstáculo que superar. Es tener la determinación de pegarte con eso hasta que lo entiendas. Aceptarlo todo y seguir adelante. No rendirse nunca, porque al final todo acaba haciendo click.