


30/06/2025
Descubre qué son las katas de código, sus beneficios y cómo aplicarlas en equipos tech. Una práctica clave para mejorar habilidades de programación y colaboración.
Una kata de código es un ejercicio de programación que se repite con el objetivo de mejorar habilidades técnicas. Inspirada en las artes marciales, donde se entrenan movimientos de forma reiterada, esta práctica ayuda a los desarrolladores a pulir su código, explorar soluciones y afianzar buenas prácticas como el testing, el diseño limpio o el refactorizado.
A diferencia de los retos competitivos, las katas no buscan rapidez o complejidad, sino reflexión, mejora continua y calidad técnica.
Beneficios de las katas de código para los equipos
1. Aceleran la integración del nuevo talento
- Homogeneizan buenas prácticas en el equipo.
- Reducen la curva de aprendizaje.
- Fomentan la conexión entre personas que aún no han colaborado juntas.
2. Impulsan la transformación técnica
- Permiten practicar nuevos lenguajes, arquitecturas o patrones sin riesgo.
- Facilitan la adopción de paradigmas como TDD o programación funcional.
- Ayudan a alinear criterios técnicos en equipos diversos.
3. Preparan para desafíos reales
- Mejoran la toma de decisiones técnicas.
- Refuerzan principios como DRY, KISS, YAGNI o SOLID.
- Aumentan la agilidad y autonomía del equipo.
Tipos de katas de código más comunes
- Katas individuales: ideales para practicar de forma autónoma y aplicar TDD.
- Katas en pareja (pair programming): fomentan la revisión de código en tiempo real.
- Katas en grupo (mob programming): perfectas para alinear al equipo y compartir conocimiento.
- Katas de refactorización: enfocadas en mejorar código existente sin cambiar su funcionalidad.
- Katas de diseño: permiten discutir y plantear soluciones arquitectónicas a nivel conceptual.
Cómo lo aplicamos en CaixaBank Tech
En CaixaBank Tech utilizamos las katas de código como una herramienta clave para fortalecer la capacidad de organización y estructuración de nuestros proyectos. Estas sesiones nos permiten trabajar de forma práctica y colaborativa aspectos fundamentales como la separación de capas, la definición clara de la lógica de negocio y la implementación de arquitecturas modulares y sostenibles.
Gracias a las katas, nuestros equipos pueden experimentar con diferentes enfoques arquitectónicos, validar decisiones técnicas en un entorno seguro y reforzar principios de diseño que luego aplicamos en proyectos reales. Además, fomentan un lenguaje común entre desarrolladores, arquitectos y otros perfiles técnicos, lo que mejora la cohesión del equipo y la calidad del software que entregamos. Esta práctica se ha convertido en un pilar de nuestra cultura de mejora continua y excelencia técnica.

Nuestras sesiones recientes se centraron en:
1. Arquitectura Hexagonal (también conocida como Ports and Adapters): están diseñadas para practicar la separación clara entre la lógica de negocio y los detalles de infraestructura. En estas sesiones, los equipos trabajan en construir aplicaciones donde el núcleo de la lógica (el “dominio”) no depende de frameworks, bases de datos ni APIs externas.
2. Tests de integración con TestContainers: las katas centradas en TestContainers permiten a los equipos practicar pruebas de integración realistas utilizando contenedores Docker que simulan servicios externos (como bases de datos, colas de mensajes, etc.).

Organizamos grupos reducidos de 2 a 3 personas en nuestras distintas sedes —Barcelona, Madrid y Sevilla—, fomentando un entorno de trabajo colaborativo que combina la presencialidad con la modalidad remota. Esta dinámica nos permite aprovechar lo mejor de ambos mundos: la cercanía y fluidez del trabajo cara a cara, junto con la flexibilidad y diversidad que aporta el trabajo en remoto.
Durante las sesiones, cada equipo trabaja de forma autónoma en la resolución de una kata, y al finalizar, presenta su solución al resto de participantes. En estas presentaciones, no solo se muestra el código final, sino que se explica en detalle cómo se ha estructurado, qué decisiones técnicas se han tomado y por qué.
Este espacio de exposición y reflexión colectiva enriquece el aprendizaje, permite contrastar enfoques y fortalece la comunicación técnica dentro del equipo.

Conclusión
Las katas de código no son solo ejercicios técnicos diseñados para mejorar habilidades de programación. Son una herramienta poderosa de transformación cultural, técnica y organizativa dentro de los equipos de desarrollo.
Si tu objetivo es elevar la calidad del software, consolidar buenas prácticas, fomentar el trabajo en equipo y acelerar el crecimiento técnico de tus desarrolladores, integrar katas en la rutina del equipo puede ser un excelente punto de partida.
tags:
Comparte: