Practicas tu kungfu? CodeKatas

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! ^^

Publicado por

6 comentarios en “Practicas tu kungfu? CodeKatas”

  1. Hola… Hace algun tiemo me entere de un sitio donde se hace algo parecido y de vez en cuando me gusta practicar y poner a funcionar el cerebro en otras áreas (aparte de la programacion). En este sitio son bastantes problemas, algunos con una complejidad bastante avanzada, pero son interesantes de resolver. Uno de los retos es que los programas deben correr (y resolver el problema) en menos de un minuto. Lo unico que está en inglés… 🙁

    Les dejo el link por si estan interesados y gracias por el aporte:
    Link: (projecteuler)
    h t t p : / / p r o j e c t e u l e r . n e t

  2. Recuerdo que Bonnin nos contó algo sobre el tema en el MIX. En el Linkedin has puesto que nos llevemos el portatil para el TTT. ¿Teneis pensado algo de este estilo?

  3. Me ha costado recuperar tu post de mi RSS, y me he picado bastante, ahora que tengo algo de tiempo. Gracias!

    PD: 12meses12katas.com puede ser otro sitio interesante.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *