Code katas: the practice that transforms development teams
Blog Detail Page
Blog Detail Page
Blog Detail Page

Code katas: the practice that transforms development teams

Blog Detail Page
Blog Detail Page
Blog Detail Page

Find out what code katas are, their benefits and how to apply them in tech teams. A key practice for improving programming skills and team collaboration.

A code kata is a programming exercise that is repeated with the aim of improving technical skills. Inspired by martial arts, where movements are trained repeatedly, this practice helps developers refine their code, explore different solutions and reinforce good practices such as testing, clean design and refactoring.

Unlike competitive challenges, katas do not aim for speed or complexity, but rather encourage reflection, continuous improvement and technical quality.

Benefits of code katas for teams

They speed up the integration of new talent

  • They standardise good practices across the team.
  • They flatten the learning curve.
  • They foster connections between people who haven’t worked together before.

They drive technical transformation

  • They allow practicing new languages, architectures and patterns risk-free.
  • They support the adoption of paradigms like TDD or functional programming.
  • They help to align technical criteria in diverse teams.

They prepare developers for real-world challenges

  • They improve technical decision-making.
  • They reinforce principles like DRY, KISS, YAGNI, and SOLID.
  • They increase the team’s agility and autonomy.

Most common types of code katas

  • Individual katas: ideal for solo practice and applying TDD.
  • Pair katas (pair programming): encourage real-time code review.
  • Group katas (mob programming): great for aligning the team and sharing knowledge.
  • Refactoring katas: focused on improving existing code without changing its functionality.
  • Design katas: allow teams to discuss and propose architectural solutions at a conceptual level.

How we apply them at CaixaBank Tech

At CaixaBank Tech, we use code katas as a key tool to improve our projects’ structuring and organisation. These sessions enable us to work on essential aspects such as layer separation, the clear definition of business logic and the implementation of modular and sustainable architectures, following a hands-on and collaborative approach.

Thanks to the katas, our teams can experiment with different architectural perspectives, validate technical decisions in a reliable environment and strengthen design principles that are later applied to actual projects. In addition, they encourage a common language among developers, architects and other technical profiles, thus achieving a more cohesive team and delivering better quality software. This practice has become a pillar of our culture of continuous improvement and technical excellence.

Code katas: the practice that transforms development teams

Our recent sessions focused on:

1. Hexagonal Architecture (also known as Ports and Adapters): they are designed to practice the clear separation between business logic and infrastructure details. In these sessions, the teams work on building applications where the logic core (the “domain”) does not depend on frameworks, databases or external APIs.

2. Integration testing with TestContainers: the katas focused on TestContainers enable the teams to conduct realistic integration tests using Docker containers that simulate external services (such as databases, message queues, etc.).

Code katas: the practice that transforms development teams

We organise small groups of 2 or 3 individuals in our different headquarters (Barcelona, Madrid and Seville) and foster an environment of collaborative work, which is carried out both on-site and remotely. This approach allows us to make the most of both worlds: the proximity and flexibility of working face-to-face and the diversity offered by remote working.

During the sessions, each team works independently on solving a kata, and at the end, presents the solution to the rest of participants. In these presentations, they not only show the final code, but also explain in detail how it has been structured, the technical decisions they took and why.

This space for collective reflection and presentation enriches the learning process, allows contrasting approaches and strengthens technical communication within the team.

Code katas: the practice that transforms development teams

Conclusion

Code katas are not only technical exercises designed to improve programming skills, but they are also powerful tools for cultural, technical and organisational transformation within the development teams.

If your objective is to improve the quality of software, consolidate best practices, encourage teamwork and accelerate your developers’ technical growth, incorporating katas into your team’s routine could be an excellent place to start.


share:

Sigue leyendo…