Code Katas Are Worth Doing

Code Katas Are Worth Doing

Are you practicing katas? Katas are a great way to keep your software development blade sharp. If you haven’t tried code katas here is your chance.

What is kata anyway?

Kata, a Japanese word, meaning literally: “form” (型 or 形), is a detailed choreographed pattern of movements made to be practiced alone…It is practiced as a way to memorize and perfect the movement being executed.

Wikipedia

So a kata is a predefined set of movements that is practiced over and over again in order to master the movements. The idea behind katas (or code katas) in software development is pretty much the same the difference being we practice movements related to writing code and getting better at it.

You might have came across some heated debate on what type of code katas are effective but I would argue that all are and different code katas train you in different ways. So if you are just starting with katas I would suggest you try it for yourself instead of ditching it because someone said it does not work.

There are different types of code katas - some will help you type faster, some will help you learn commands or a new tool, some will challenge you to find different ways of solving the same problem, and more. I am not sure that we actually have to call them code katas because some of them won’t involve writing code but still help you be a better professional developer. To summarize, doing code katas could help you:

  • Learn new tools faster
  • Find alternative ways to solve a problem
  • Type faster
  • Memorize shortcuts and commands
  • Improve memory and reflexes
  • Help you transition into your normal working day

When to do katas

People recommend to do katas every day. Katas are usually short - 5 to 10 minutes so you can probably squeeze one into your morning routine. If you think doing a kata each day is way too often, try to do a kata once a week. Other folks do katas at the end of the day to wind down. I think the key verb here is experiment to make katas work for you.

Code kata resources

There are several places where you can find katas. You can try here, here, and here. I will also be publishing the katas I do in my katas Github repo. Since I am mostly working with .Net some katas will feature .Net tools and concepts but many of them will be technology agnostic. Stay tuned!

Your first .NET Core Kata

If you live in the .NET Core world, here is a simple kata to get you started. This one is about training yourself to use the .NET Core command-line interface. You can checkout the kata here. You have 5 minutes…

Are you doing code katas? Please, share your experience.

Published 8 Jan 2019

Building software and sharing knowledge.
Milan Nankov on Twitter