Introducción a los code katas

Aprende qué son los code katas, cómo practicarlos con restricciones y por qué ayudan a mejorar tu técnica de programación.

Introducción a los code katas

¿Cierras veinte tickets por semana y aun así sientes que tu técnica se quedó estancada? La culpa no es tuya: entregar no es lo mismo que practicar. Un code kata es la forma de separar ambas cosas.

Apertura conceptual que representa la repetición deliberada: programar como entrenamiento, no como entrega.
Apertura conceptual que representa la repetición deliberada: programar como entrenamiento, no como entrega.

Qué es, en realidad, un code kata

El nombre viene del karate: un kata es una secuencia de movimientos que repites hasta hacerla automáticamente. En programación, la idea es la misma. Tomas un problema pequeño y conocido y lo resuelves una y otra vez, centrándote en CÓMO lo resuelves, no en terminarlo.

El punto que confunde a todo el mundo: el objetivo no es la respuesta. Ya conoces la respuesta. El objetivo es la forma: cómo nombras las cosas, cómo divides el problema, cómo escribes el test primero.

Por qué la práctica deliberada supera a resolver tickets sin parar

Un ticket es trabajo bajo presión: plazos, código legado, gente esperando. Lo resuelves de la manera que puedes y sigues adelante. ¿Aprendes algo? A veces. ¿De forma constante? Casi nunca.

La práctica deliberada es lo contrario: un entorno controlado, un problema fácil y cero presión por entregar. Eso libera tu mente para prestar atención a la técnica. Es la diferencia entre conducir al trabajo todos los días y practicar cómo estacionar en un estacionamiento vacío. Una actividad te lleva a lugares; la otra hace que conduzcas mejor.

Cómo hacer tu primer kata

La receta es sencilla a propósito:

  1. Elige un problema pequeño. FizzBuzz, Roman Numerals, Bowling. Algo que puedas resolver en menos de una hora.
  2. Define un timebox. 30 minutos. Cuando se cumpla, detente, aunque no hayas terminado.
  3. Repite con una restricción. Aquí está la magia. ¿Ya lo resolviste? Ahora hazlo de nuevo con una regla: sin if, solo estructuras inmutables, TDD estricto o sin tocar el mouse.

La restricción te saca del piloto automático. Sin if, descubres el polimorfismo a la fuerza. Sin mouse, por fin aprendes los atajos del editor. Cada repetición se convierte en un nuevo ángulo del mismo problema.

Y borra el código al final. En serio. El artefacto no importa; lo que queda está en tu cabeza y en tus dedos.

Ping-pong: kata en pareja

El kata en pareja es aún mejor, y el formato clásico es el ping-pong:

  • La persona A escribe un test que falla.
  • La persona B hace que el test pase y escribe el siguiente test que falla.
  • La persona A hace que ese test pase y escribe el siguiente. Y así sucesivamente.

Una persona escribe el test y la otra implementa, alternándose. Te ves obligado a conversar sobre diseño, justificar cada paso y vivir el TDD de verdad en lugar de limitarte a leer sobre él. Al principio resulta incómodo; después se vuelve adictivo.

Dónde encontrar katas para empezar

No necesitas inventar un problema. Ya existe un catálogo preparado:

  • Codewars — katas organizados por nivel, ideal para aumentar gradualmente la dificultad.
  • Exercism — ejercicios con mentoría y feedback humano, en decenas de lenguajes.
  • codekata.com y Coding Dojo (codingdojo.org) — los katas clásicos, con contexto y variaciones.
  • cyber-dojo.org — creado para hacer katas en grupo, directamente en el navegador.

Empieza con FizzBuzz hoy mismo. ¿Es ridículamente fácil? Ese es el punto: la facilidad te permite prestar atención a la técnica.

Resolver tickets sin parar paga las cuentas. El kata es lo que te ayuda a mejorar de verdad. Reserva 30 minutos, elige un problema sencillo y haz tu primer kata hoy mismo.

Te gusto el articulo?

Compartelo con tus amigos y ayuda a difundir conocimiento!