You are viewing a read-only archive of the Blogs.Harvard network. Learn more.

The Code Kata

The idea of code kata is not a new one. This has been floating around for a while, but I didn’t make the connection of its importance until recently.

The idea is this: doing your work is not the same as practicing what you do. The analogy I like the most is the chess analogy. A grand master cannot be a grand master by simply playing in tournaments. In fact, just playing in tournaments would make a pretty poor player. Studying tactics, reading, discussing (with other human beings that have their own unique perspectives) outside of the game allows personal growth and an understanding of the game that is unattainable by simply playing it.

word_document_74755743_original_96681a2843Maybe that analogy speaks to me because I understand games and being great at them vs just playing them.

I spent some time misunderstanding what a code kata needed to be. For the longest time I had understood it to be technical growth via solving algorithms or learning new technologies. These could be katas, but what makes katas doable is 2 things.

  • Simple.
  • Interesting.

Keeping them simple allows you to be able to make time for them. Google the FizzBuzz test. Even something that simple can keep your mind thinking like a developer.

Keeping them interesting allows for you to care about them. And caring about them will ensure they actually get done. If you’re not interested in learning node but you set yourself up to learn it as your kata. One, that’s a big task, but more importantly, if you’re not interested, you’re setting yourself up to fail. This is a great way to find what it is you’re interested in and focus more.

Myself, I seem to currently be interested in best practices and the social aspects of software engineering. So I’ve decided to increase the blog posts I do. From the beginning of these, I’ve been focused on doing at least one a month. And that’s been a way for me to think through some of things I’ve worked on in the last few years. By writing them out, it’s been a rear way for me to cement the things I’ve been doing in my head and analyze them a little more carefully. This, I believe, will help me be better at my job.

Yes, I blog for me, not for any kind of readership. That’s helpful since no one reads these 🙂

1 Comment