
Rendirse no es opción
En esta nueva etapa estoy experimentando muchas cosas nuevas, y otras no tan nuevas, como las que se repiten con el alumnado en los primeros meses: frustración, rendición o simplemente asimilar que no todo sale a la primera. A continuación te cuento lo que pienso de esta situación.
El problema de la inmediatez
En esta sociedad en la que vivimos, nos hemos acostumbrado a que todo está a un clic de distancia: desde mandar un mensaje a buscar información, delegando en ello lo que Google nos quiera mostrar. Poco a poco nos olvidamos de que hay algunos problemas que requieren maduración o simplemente asimilar que no se resuelven con un simple clic.
Desarrollar aplicaciones informáticas consiste en resolver un puzle aplicando distintas piezas, partiendo de un análisis del problema, diseñando la solución, pasando a la implementación de la misma, para comprobar y verificar que funciona y es válida.
Al vivir en el mundo de la inmediatez y de un solo clic, queremos suprimir las dos primeras etapas y codificar todo sin pararnos a analizar para luego diseñar la solución. Pero es que programar no solo es codificar en un lenguaje: es descomponer un problema en pasos, una serie de sentencias, estructuras, objetos, usar librerías... No se trata de escribir por escribir.
Y es ahí donde nace el problema. Si lo unimos al problema de base de que se ha partido de no fomentar esta etapa, nos encontramos con proyectos de desarrolladores/as que son incapaces de resolver un problema porque no tienen la paciencia necesaria para llegar a la solución o simplemente para aceptar el reto de resolverlo. Y no es la primera vez que parte de mi alumnado se deja los módulos por no saber gestionar estas situaciones.
Aceptando el reto
Y he hablado de reto. Porque programar es resolver problemas que a veces nos retan y, como todo reto, implica aceptar la frustración inicial de no tener los medios para resolverlos, investigar para ello, alcanzar las competencias necesarias y posteriormente intentarlo. Esto no nos garantiza que lo consigamos a la primera, pero si nos rendimos nunca lo conseguiremos. Eso creo que está claro.
Frustración
Cuando desarrollamos, debemos aprender a lidiar con la frustración y con aquella parte de nosotros que nos boicotea diciendo que no servimos. La verdad es que, como nos han inculcado que todo es fácil y maravilloso, que vivimos en un mundo ideal donde con un clic todo se hace realidad, nos olvidamos de que las soluciones hay que trabajarlas y que madurar algo implica dar pequeños pasos pero constantes hasta conseguirlo. A veces tropezaremos, pero no debemos desistir. Siento decirte que no todo es fácil, pero no nos olvidemos de que todo es posible (la mayoría de las veces).
Ten la mente abierta
Por otro lado, siempre habrá el alumno/a que ante nuevos contenidos, técnicas o herramientas se vea reacio/a a aplicarlos. Total, si ya sabe resolverlos, ¿para qué complicarse? Bueno, pues porque hay que avanzar, aceptar el reto, y cuantas más herramientas técnicas dominemos mejor podremos afrontar nuevos problemas. No todo se resuelve con un martillo o destornillador: a veces necesitaremos un bisturí. El problema es que no gestionan bien la salida de su zona de confort. Pero retarnos, seguir avanzando y autoaprender es una obligación.
Fallar está permitido
A día de hoy, nunca le he dicho a mi alumnado que no se puede fallar. Y tampoco conozco a nadie que nunca haya fallado. De hecho, yo mismo he aprendido mucho más solucionando un error o bug de dos horas que si me hubiese salido todo a la primera. Gracias a ese bug he investigado varias soluciones alternativas o he comprendido cómo funciona una librería determinada. Me ha hecho crecer. Seguiré fallando, lo sé, me lo permito. Fallaré nuevamente y fallaré mejor. Seré constante. Leeré el error que me lance el IDE y aceptaré dicho reto. Como pone el tatuaje de uno de mis tenistas favoritos, Stan Wawrinka:
"Always tried, always failed, no matter, try again, fail again, fail better".
Samuel Beckett

Quizás esa educación de jugar al tenis, de fallar y olvidarse, de ir a por el siguiente punto sin quedarse en el error, me inculcó esa capacidad. Piensa en Rafa Nadal: siempre se le ha valorado su mentalidad.
La solución parte de ti
Una buena actitud proactiva te va a ayudar mucho. No te lances mensajes negativos, pero tampoco vayas con un exceso de confianza. La peor de las batallas son las que no nos atrevemos a luchar y en las que nos rendimos antes de hacerlo. Para recoger la cosecha antes hay que sembrar, y te vas a ensuciar las manos. Esto es un viaje. Si aprendes estos hábitos, poco a poco lo conseguirás. Es verdad que no todo el mundo madura y crece como programador al mismo ritmo. Pero no te voy a engañar: hay cosas que no conseguirás y deberás aceptar dicha derrota para poder seguir avanzando. Uno no se ahoga por caer en el mar, sino por quedarte sumergido en él.
Tampoco busques excusas ni eches balones fuera. Nunca has tenido tantos medios para aprender. El profesor no es tu enemigo. Piensa también en lo que aportas tú en este proceso de formación en el que te encuentras.
No será la primera vez que Son Goku debe entrenar para salvar el universo y la tierra. No era el más talentoso ni el más listo, pero se dejaba la piel y aceptaba el reto.

Gestiona la frustración, permítete fallar, comprende que hay que seguir avanzando y aprendiendo cosas nuevas y que nada es inmediato.

Para terminar te dejo un ejemplo de superación de adversidades. Como me gusta mucho la guitarra y el rock, Tony Iommi es un ejemplo de no darse por vencido y buscar soluciones para llegar a tu meta, y de paso convertirse en un pionero. Te invito a que conozcas su historia.
