blog

June 24, 2008

Code Kata

To begin I can only quote Steve Yegge’s voluminous body of work recently, I was struck by a 2005 entry on practicing programming from the original posting at Coding horror:

Contrary to what you might believe, merely doing your job every day doesn’t qualify as real practice. Going to meetings isn’t practicing your people skills, and replying to mail isn’t practicing your typing. You have to set aside some time once in a while and do focused practice in order to get better at something.I know a lot of great engineers — that’s one of the best perks of working at Amazon — and if you watch them closely, you’ll see that they practice constantly. As good as they are, they still practice. They have all sorts of ways of doing it, and this essay will cover a few of them.

The great engineers I know are as good as they are because they practice all the time. People in great physical shape only get that way by working out regularly, and they need to keep it up, or they get out of shape. The same goes for programming and engineering.

I only partially belive this. Yes, practice makes perfect and it is the only way you can get better at something. But I disagree that coding at work, for example, is not practice. It does help you get better. It might not be the best, most perfect practice, but it is practice nonetheless. And lets not forget the fact that many jobs involve going just slightly beyond your skill set. A step ahead.

But the idea of a coding Kata intrigues me. A kata is “a series of choreographed practice movements”, barrowed from marital arts.

The steps steve presents are interesting. He deviates from the normal theory of practicing strictly coding assignments and delves into more complex routines. Things like reviewing resumes, reading the code of other people regularly, and picking a profession you know nothing about and asking a professional to explain it to you. These are just some of the steps toward bettering yourself off as far as communication in the programming field. Coding Horror argues that communication is just as, if not, more important than the actual coding skills themselves. Which seems to make sense in todays large programming teams: in order to get anything done, everyone must collaborate and the only medium between that is communication.

No Comments Yet »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.