Rendirse no es opción
En 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 vivemos, nos hemos acostumbrado a que todo esta a un clic de distancia, desde mandar un mensaje a buscar información delegando en ello a lo que Google nos quiera mostrar. Poco a poco nos olvidamos que hay algunas problemas que requieren de maduración o simplemente de asimilar que no sale con un simple clic.
Desarrollar aplicaciones informática consiste en resolver un puzzle 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 del inmediatez y de un sólo clic, queremos suprimir las dos primeras etapas y codificar todo sin para 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 a 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 reta y como todo reto implica aceptar la frustración inicial de no tener los medios para resolverlos, investigar para ello, alcanzar las competencias necesarias para ello 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 ha inculcado que todo es fácil y maravilloso, que vivimos en un mundo ideal donde con un clic todo se ha realidad, nos olvidamos 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 antes nuevos contenidos, técnicas o herramientas se vea reacio/a aplicarlos. Total, si ya sabe resolverlos para que complicarse. Bueno, pues porque hay que avanzar, aceptar el reto, y cuantas más herramientas técnicas resolvamos 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 auto-aprender, es una obligación.
# Fallar está permitido
Al día de hoy, nunca le he dicho a mi alumnado que no se puede fallar. Y tampoco conozco a nadie que nunca ha 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 unos 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 olvidarse del error, me inculcó esa capacidad. Pensa 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 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, si no 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, permitete fallar, comprende que hay que seguir avanzando aprendiendo cosas nuevas y que nada es inmediato.
Para terminar te dejo un ejemplo de superación de adversiodades. Como me gusta mucho la guitarra y le rock, Tommy Iommi es ejemplo de no darse por vencido y buscar soluciones para llegar a tu meta, y de paso convertirse un pionero. Tr invito a que conozcas su historia.