Tuesday 17 January 2012

Code Katas

Last week I made a brief mention of Code Katas and how they can help you as a form code practice. Let's find out some more.

The basic concept surrounding Code Katas encapsulates the ideas that a) we are professional coders, b) practice improves one's skills. Wikipedia tells us "Code Kata is a term coined by Dave Thomas, co-author of the book The Pragmatic Programmer, in a bow to the Japanese concept of kata in the martial arts. A code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition".

Dave has a blog for his books, and a sub-blog specifically about Code Katas. His Code Kata blog tells us all about the background and Dave's reasoning for using Katas.

I greatly enjoy the consultancy and the project management work that I do, but I get at least as much enjoyment from coding too. Not only coding to a specification, but coding for coding's sake. And that, in a nutshell, is what a Code Kata is - coding for coding's sake. If you were into tennis, you might focus on competitions wherein you have to give your best, but you'll be able to achieve better results in those competitions if you practice regularly. There are no prizes for practicing, but it sure helps.

Who benefits if you become a better coder? Your employer or client will certainly benefit, but your own career prospects will improve too. So, don't limit yourself to doing your Code Katas within core hours. Maybe it's something you might consider doing over lunch, or after hours.

Dave lists 21 Katas on his site, most of which I've found applicable to SAS. I'll offer my own contributions from time-to-time here on NOTE:, starting tomorrow. In the meantime, please feel free to send your own Code Katas to me. I'll publish some of them.