Victor Catalán

Coding Dojo - Kata Randori

November 19, 2015 | Victor Catalán | 2 Minute Read

Sesiones "Coding Dojo" con Katas de tipo Randori

En esta última semana en mi empresa ha surgido una gran iniciativa, hemos creado un Coding Dojo para los compañeros de trabajo. ¿Qué es? Simplemente es un lugar para aprender, aumentar nuestras habilidades y divertirnos mientras programamos, a traves de la práctica y la repetición en grupos en la solución de retos.

Hay varias opciones, nosotros hemos empezado por la Kata de tipo Randori.

- Resolver el reto mediante pair-programming (piloto y copiloto)
- Cada pareja tiene un tiempo limitado para avanzar en la solución (5-7 minutos)
- Al terminar el tiempo, el piloto abandona su sitio y vuelve al "público", el copiloto se convierte en piloto y un nuevo programador del "público" pasa a ser el copiloto.
- Resolverlo usando Test-Driven Development (TDD) [Ir a la Wikipedia]

Se realizan todas las iteraciones necesarias hasta llegar a la solución del reto (Nosotros dedicamos 1:30h máximo ya que parte es horario laboral).

Para el primer reto se planteo un problema sencillo de búsquedas en vectores, el cual resolvimos de manera iterativa y posteriormente de manera recursiva. Simplemente queríamos empezar con un reto para coger dinámica y adentranos en retos más complicados en futuras ocasiones. Fue muy divertido encontrar la solución, programar en un proyector, y sobre todo dialogar y discutir posibles aproximaciones.
NOTA: Algoritmos sencillos pueden dar mucho juego! Y de todo se aprende!

Iremos teniendo una sesión cada 15 días, más o menos, así que ya os iré contando como evolucionamos y que cosas hemos aprendido.

Si te quieres preparar para este tipo de retos, en la red hay numerosos recursos que pueden ayudar para mejorar tus habilidades para programar en cualquier lenguaje, pero quería destacar la plataforma que ha caído recientemente en mis manos Code Wars. Tiene una base de datos con infinidad de Katas (+1200), subdivididas por categorías (Algoritmos, Lógica, Seguridad, Control de flujos..etc) y por niveles, empezando por las más sencillas 8kyu hasta 1kyu. Todas las Katas las puedes realizar en varios lenguajes (Javascript, Perl, Python, C#, Java), pero lo realmente importante es que una vez envías la solución puedes ver las soluciones más valoradas por el resto de usuarios y ahí es donde vas a aprender.

Estoy en los niveles iniciales pero ya he visto cosas realmente ingeniosas, verlas, analizarlas y comprenderlas, y en un futuro poderlas aplicar en tu trabajo diario, llevarán tus habilidades a un nivel superior. Para todo ello trabajo y constancia!! Os animo a visitarla en el siguiente enlace.

Hasta pronto, ya sabeis cualquier comentario, sugerencia es bienvenida.