Desarrollo de Software
Code Challenge
Kata

Code hard, code first, no mercy

En este post, hablo sobre Katas, una de las maneras en como se práctica la programación.

Ivan Robles

2 min read
Code hard, code first, no mercy

Todos los profesionales practican y se hacen maestros en sus respectivas disciplinas por repetición y práctica.

Así como los músicos ensayan y los ilustradores de cómics practican, los programadores también debemos de practicar.

La manera en como los programadores practicamos son con ejercicios de programación, a mi me gusta la corriente que los llama Katas.

Kata 🥋

En artes marciales es una coreografía de movimientos que simulan una parte de un combate. La meta es aproximarse a la perfección basado en la repetición de movimientos que en algún momento se vuelven automáticos e instintivos para hacer uso de ellos cuando sean necesarios.

En programación es algo similar, cuando se practica una Kata, no estamos resolviendo un problema, porque ya sabemos como se resuelve. En su lugar, estamos practicando los movimientos y decisiones que involucran resolver el problema.

Repetimos una y otra vez estos ejercicios para entrenar al cerebro y los dedos a moverse y a reaccionar. A medida que se practican descubrimos sutiles mejoras y eficiencias.

Kata 🥋 vs Code Challenge 🧩

Una Kata puede ser un Code Challenge pero un Code Challenge no puede ser una Kata.

Pero que diablos estoy diciendo!! 👆😱

De lo que se trata una Kata es de practicar lo que ya se ha resuelto, lo ya conocido. Además de que son problemas pequeños.

Si al momento de hacer una Kata es la primera vez que nos enfrentamos al problema y estamos peleando para resolverlo, entonces en ese momento en lugar de una Kata es un Code Challenge 🤔.

Plataformas para practicar 🧑‍💻

Estos son los sitios en los cuales práctico y otros que quiero probar:

  • CodeWars - Lo utilizo todavía, de hecho de mi vieja chamba todavía sigue la guild.
  • CodeSignal - Me han mandado challenges de ahí por parte de reclutadores.
  • LeetCode - Le traigo ganas a este.
  • HackerRank - Un clásico, tiene mucho que no lo uso pero es el primero que conocí.
  • Codility - También me han llegado challenges de reclutadores de ahí.
  • AdventJS - Sale cada diciembre por parte de Midudev, actualmente ando haciendo estos ejercicios, son 25 cada año y tienen desde el 2021.

Conclusión

En algún punto llegue a pensar algo así: “No es necesario practicar, si en mi trabajo estoy programando todos los días”. Si lo vemos de manera profesional, hay que estar al tiro.

No es lo mismo pagar por ir a un concierto que pagar por ir a un ensayo. Y cuando estamos trabajando cada día estamos dando un conciertazo, es por eso que hay que mantener nuestras habilidades afinadas y preparadas para dar lo mejor de nosotros.

Nos leemos próximamente 😄 !!