Codewars: qué es y cómo empezar a resolver katas
Quieres mejorar programando, pero en el trabajo no hay tiempo para probar cosas y los tutoriales se quedan en la teoría. Codewars resuelve eso: te da ejercicios pequeños, con tests ya hechos, para practicar un rato cada día.
Es como un gimnasio con entrenador: tú haces el ejercicio, una máquina te dice si lo has hecho bien y, al terminar, puedes ver cómo lo hicieron los demás.
Qué es Codewars
Codewars es una plataforma web de retos de programación, gratuita en su uso básico: resuelves ejercicios cortos (katas) que se comprueban solos con tests y, al completarlos, subes de rango. La web está en inglés y admite decenas de lenguajes, aunque cada kata solo está disponible en los lenguajes a los que se ha traducido. Su lema es «Achieve mastery through challenge» (algo así como «domina a base de retos»). La crearon los mismos fundadores de Qualified, una plataforma de pruebas técnicas para empresas.
Cada reto se llama kata. Una kata es un ejercicio corto con un enunciado y una batería de tests: tu solución es buena cuando los pasa todos. La comunidad escribe las katas, las revisa y vota las mejores soluciones.
Rangos: kyu y dan
Como en las artes marciales, cada kata y cada persona tienen un rango. Hay dos clases, con ocho niveles cada una:
- Kyu, de 8 kyu (el más fácil) a 1 kyu. El número indica a cuántos grados estás del nivel de maestro.
- Dan, de 1 dan a 8 dan, el nivel de maestro.
Todo el mundo empieza en 8 kyu. Solo subes resolviendo katas que no hayas resuelto antes en ningún lenguaje. Las katas de tu rango o de uno superior son las que más te hacen avanzar; las muy fáciles casi no cuentan.
Codewars también agrupa los rangos por colores (la columna «Nivel» es orientativa):
| Rangos | Color | Nivel |
|---|---|---|
| 8 kyu y 7 kyu | Blanco | Para empezar |
| 6 kyu y 5 kyu | Amarillo | Intermedio |
| 4 kyu y 3 kyu | Azul | Avanzado |
| 2 kyu y 1 kyu | Morado | Experto |
| 1 dan a 4 dan | Negro | Maestría |
| 5 dan a 8 dan | Rojo | Maestría |
Aparte del rango está el honor: puntos que ganas resolviendo katas, pero también escribiendo katas, traduciéndolas o comentando. El rango mide lo que sabes hacer; el honor, cuánto participas.
Cómo empezar en Codewars
- Regístrate en codewars.com/join con correo y contraseña o con tu cuenta de GitHub, y confirma el correo: hasta entonces algunas funciones están limitadas.
- Configura el entrenamiento: tu experiencia, los lenguajes que ya conoces y los que quieres practicar.
- Elige el enfoque del entrenador: «Fundamentals» propone katas fáciles y es el recomendado si empiezas; «Rank Up» va subiendo la dificultad.
- Busca una kata en el catálogo. Filtra por dificultad 8 kyu y, si quieres, por temas.
- Pulsa TRAIN y resuélvela.
Tu primera kata, paso a paso
Un ejemplo con una kata de 8 kyu: Even or Odd. Pide una función que reciba un entero y devuelva "Even" si es par y "Odd" si es impar.
Al pulsar TRAIN se abre el editor con dos paneles:
- Solution: donde escribes tu código. Respeta el nombre y los parámetros de la función que te dan, porque los tests la llaman así.
- Sample Tests: tests de ejemplo que puedes leer y ampliar con tus propios casos.
Una solución en JavaScript:
function evenOrOdd(number) {
// Si el resto de dividir entre 2 es 0, es par
return number % 2 === 0 ? "Even" : "Odd";
}
En JavaScript, los tests de Codewars usan Mocha y Chai, con describe para agrupar e it para cada caso. Añadir uno propio en Sample Tests es así:
const { assert } = require("chai");
describe("evenOrOdd", () => {
it("devuelve Odd para los impares, también negativos", () => {
assert.strictEqual(evenOrOdd(7), "Odd");
assert.strictEqual(evenOrOdd(-1), "Odd");
});
});
Ese caso con -1 no está puesto al azar. En JavaScript, -1 % 2 da -1, no 1. Si hubieras escrito number % 2 === 1 ? "Odd" : "Even", el -1 saldría par. Comparar con 0 evita la trampa.
Después:
- TEST ejecuta los tests de ejemplo. Repite hasta que salgan en verde.
- ATTEMPT ejecuta la batería completa, que incluye tests ocultos. Si falla un caso que no ves, muestra por consola los datos que llegan a tu función y añádelo a Sample Tests para reproducirlo.
- Con todo en verde, envía la solución (Submit). Ganas honor y avanzas en tu rango.
Lo mejor de una kata empieza cuando la terminas.
Después de resolverla: mira otras soluciones
Al enviar tu solución puedes ver las de los demás. La propia documentación de Codewars lo considera una de las mejores formas de aprender. Las soluciones reciben dos tipos de voto:
Best Practices
- Equilibran legibilidad y eficiencia
- Es el código que querrías en tu proyecto
- La más rápida no gana si nadie la entiende
Clever
- Soluciones ingeniosas o sorprendentes
- Enseñan trucos del lenguaje
- No las esperarías en código de producción
Si te atascas, puedes desbloquear las soluciones sin resolver la kata, pero renuncias a la recompensa. Y si el enunciado no se entiende o un test está mal, déjalo en la sección de comentarios de la kata (Discourse).
¿Quieres ver una kata resuelta y comparada con la solución más votada? Mira Kata Codewars: devolver el cuadrado de cada dígito de un número, una kata de 7 kyu.
¿Cuánto cuesta? Codewars Red
Entrenar en Codewars es gratis. Cuando lanzaron la suscripción Codewars Red, en 2016, anunciaron que la web seguiría siendo gratuita para todo el mundo. Red añade extras:
- Estadísticas ampliadas y comparar tu progreso con otros.
- Navegación sin anuncios.
- Acceso a funciones en beta.
- Una insignia en el perfil.
En noviembre de 2026 cuesta 5 $ al mes, 24 $ cada seis meses o 40 $ al año. Para practicar no la necesitas.
Codewars y la IA
Un asistente de IA resuelve una kata de 8 kyu en segundos. Si se la pides, tendrás la kata en verde y el rango subirá, pero no habrás practicado nada: es como ir al gimnasio y pedirle a otro que levante tus pesas.
El enfoque IA Limpia lo plantea al revés: primero la resuelves tú, con tus tests, y después usas la IA como usarías la pestaña de soluciones, para comparar y preguntar por qué otra versión es más legible o más eficiente. Es un criterio de esta web, no una norma de Codewars.
Para quién es y alternativas
Codewars encaja si ya conoces lo básico de un lenguaje y quieres soltura: ejercicios cortos, para un rato al día. Si aún no sabes programar, empieza por un curso; si buscas que alguien revise tu código, mira otra opción.
| Plataforma | En qué se diferencia | Precio |
|---|---|---|
| Exercism | Ejercicios por lenguaje (85) con mentoría humana | Gratis |
| Advent of Code | Un calendario de puzzles cada diciembre, en cualquier lenguaje | Gratis |
Por dónde seguir
- Resuelve tres o cuatro katas de 8 kyu en el lenguaje que más uses.
- En cada una, escribe al menos un test propio antes de pulsar ATTEMPT.
- Cuando te salgan con soltura, pasa a 7 kyu.
- Para elegir las siguientes, aquí tienes katas para practicar TDD por niveles y unos ejercicios de métodos de arrays en JavaScript.
- Una kata de 8 kyu resuelta con TDD en tu equipo, test a test: Total amount of points.
¡Gracias a Isaura por su post! Su guía, en inglés, explica cómo crear la cuenta, resolver la primera kata y pedir ayuda a la comunidad: hackmd.io/s/BJLHdzMbe. La interfaz que describe es de 2018 y algunos pasos han cambiado.
Fuentes
Comprobado en noviembre de 2026 en las fuentes oficiales de Codewars:
- Página principal: lema y más de 55 lenguajes; la web de Qualified («From the creators of Codewars»).
- Documentación oficial (docs.codewars.com): registro, buscar katas, resolver una kata, ejemplo de entrenamiento (botón ATTEMPT), después de resolverla, ver soluciones, rangos, honor y JavaScript (Mocha y Chai cargado con
require; Node 8 a 22). - Documentación de la API: colores de cada rango.
- Alternativas: Exercism («100% free, forever», 85 lenguajes y mentoría humana gratuita) y Advent of Code (puzzles desde el 1 de diciembre, en cualquier lenguaje, gratis), en sus páginas oficiales.
- Guía de Isaura en HackMD, leída el 7 de noviembre de 2026.
- Página de suscripción (precios y ventajas de Red) y el anuncio de Codewars Red en su blog (2016), que ya no está disponible.
- Enunciados de Even or Odd y Square Every Digit, consultados en la API pública de Codewars.
La solución y el test de ejemplo se han ejecutado tal como aparecen, con require, en Node 24.21.0, Mocha 12.0.3 y Chai 6.3.0. La comprobación de -1 % 2 también se ha ejecutado en Node 24.21.0.