Los practicantes de kungfu, y los de cualquier actividad física, tienen que entrenar, tienen que repetir las acciones hasta que les salen naturales, sin pensar.
La repetición es uno de los procesos de aprendizaje reconocidos, en base a repetir cierta actividad, el cerebro pasa a responder a la orden de ejecutar esa actividad desde una zona diferente. Es el momento en el que hemos ‘interiorizado’ la actividad y ya no es necesaria una actuación tan consciente para llevarla a cabo.
Este mecanismo de aprendizaje no es exclusivo de las actividades físicas. ¿cómo nos aprendimos las tablas de multiplicar? ¿los axiomas matemáticos? ¿la tabla periódica? ¿las valencias?… diciéndolo en voz alta, copiándolo en un papel n-veces… en definitiva, repitiéndolo.
Y qué pasa cuando acabamos de repetirlo… que lo olvidamos. Tardamos más, incluso años, para olvidarlo completamente y que el cerebro sobreescriba esa zona. Durante ese tiempo sin práctica, vamos perdiendo fluidez en la actividad. Frases como “el que tuvo retuvo” “vivir de las rentas”… muestran esa misma idea… hay un camino en el monte, pero poco a poco se va tapando y cuanto más tardemos en volver a pasar…más nos costará la vuelta.
¿Recuerdas cuando aprendiste a programar?
Hacíamos itoa y atoi sin inmutarnos, reordenar arrays, fibonacci, las torres de hanoi, algoritmos de ordenación… ¿y ahora? Ahora nos sonreimos porque no nos acordamos y lo buscamos en internet. Porque “ya no hace falta saberse las cosas de memoria” ¿verdad? ]:)
Pero, a que es satisfactorio cuando haces las cosas a la primera? a que cuándo haces una algoritmo algo complicado de los que antes ‘te salian solos’? sonries… Y nada que decir de esa persona a la que admiramos en este contexto, le salen las líneas solas, ´fluido y encima le compila a la primera.
Todos estamos de acuerdo en que desarrollar tiene su punto de arte, un espacio de creatividad dentro de la ingeniería.
Además de por trabajo, los pintores pintan por hobby, practican sus trazos. Los deportistas también practican, y los cirujanos, los pilotos,… muchos profesionales practican para su profesion. Bien porque la profesión se presta o bien porque les gusta su trabajo 😉
¿Tu practicas tu código?
No me refiero a formar parte de un proyecto Open Source, eso puede indicar un nivel de compromiso que no estamos dispuestos a asumir. Me refiero a practicar por nuestra cuenta, a hacer un fibonacci de vez en cuando…
La mayoría no lo hacemos.
En las artes marciales, para facilitar el aprendizaje y perfeccionamiento los movimientos se agrupan en secuencias. El practicante, en lugar de hacer movimientos aislados, repite las secuencias. Ésto le ayuda a mantener su nivel, perfeccionar y reforzar las conexiones en el cerebro. Dependiendo del arte marcial, estas secuencias tienen un nombre: Katas (Karate), Pumses(Tae-Kwon-do), formas (Kung-fu), etcétera…
Pues bien, hace años (personalmente lo descubrí hace poco) se creo la figura de los CodeKatas. Ejercicios de complejidad creciente donde podemos practicar nuestro código.
Original. http://codekata.pragprog.com/ Tiene publicados 21 CodeKatas.
Referencia y enlaces extra. http://en.wikipedia.org/wiki/Code_Kata
Siendo una persona a la que me encantan los típicos puzles para programadores, os podéis imaginar que me encantó la idea. De vez en cuando me hacía un puzle, algo reactivo, normalmente no lo buscaba, me lo encontraba y lo hacía.
Pero la idea de resolver un problema cada cierto tiempo, de practicarlo… nunca lo había contemplado. De hecho, en algunos CodeKatas el reto está en resolverlos de diferentes formas (por ejemplo… nada de if’s) y así darle otra vuelta a la tuerca.
Los codekatas me parecen una muy buena forma tanto de aprender como de perfeccionar y entretenerse. Desde que lo conocí procuro hacer alguno de vez en cuando.
También descubrí que alrededor de los codeKatas se había creado un ecosistema de entusiastas, y algunas actividades/agrupaciones específicas ( con unos nombres horribles ]:) )
CodingDojos: Los dojos son los lugares de aprendizaje en las artes marciales, de modo que el CodingDojo se convierte en el lugar donde se practica en grupo los codekatas. Llamémoslo grupo de usuarios.
Coderetreats: Eventos prácticos. Tienen unas reglas determinadas, como trabajar en parejas, 0 slides, una experiencia inmersiva (varias horas).
Seguro que me dejo algún otro…
Llámalo kata, dojo, retreat o como te de la gana, pero las ideas que hay detrás son interesantes. Algunas son nuevas, algunas no, pero todas interesantes 🙂
Empezando a terminar, señalar que la repetición ayuda a aprender/mejorar, pero sobre todo si se acompaña de motivación. La motivación es clave para anclar cuanto antes los movimientos en el cerebro. Pero entiendo que si hacemos un codekata a las tantas al volver de trabajar… será porque estamos motivados, no? porque a nuestra edad …ya es difícil que nos obliguen 🙂
happy hacking
~ds
PD 01–> Los nombres me parecen una aberración porque he practicado artes marciales y deportes de contacto durante más de 20 años… no me gusta que se reutilicen conceptos, para mi es un mundo muy especial. Pero queése le va a hacer.. codekata… pues codekata :_)
PD10-> oxigeno, azufre, selenio, teluro. Fluor cloro bromo yodo
PD11-> 12 * 12 144 13*13 169 14*14 196 …
PD100-> post 2 días seguidos… estoy in flames! ^^