Saturday, March 27, 2010

Kata

"is a Japanese word describing detailed choreographed patterns of movements practiced either solo or in pairs. Kata are used in many traditional Japanese arts such as theater forms like kabuki and schools of tea ceremony (chadō), but are most commonly known for the presence in the martial arts. ..."


I am going to start blogging regularly whether I have anything to say or not. Sometimes it feels like I may not be ready to put my thoughts down in a complete well formed manner; however, because of a desire to form some new professional habits I am going to try to blog daily. To form a discipline habit.

Today's topic is the Software Kata.

The idea of the Software Kata is not my own but this idea resonates with me. Here is a link to Dave Thomas's Kata page.

I have not been thinking about computer science algorithms or even programming task in particular. I have been thinking about the routine stuff I do on my laptop everyday. I don't want the routine stuff to get in the way of the more important task of the day. If you watch a musician, painter, gymnast, or martial artist when they are performing it is a exhilarating. After watching a good musician I become inspired to pick up my bass and immediately start working on my routines.

Now with another favorite thing of mine. Developing software I want to develop those kind of abilities as well. I want the operation of me and this machine to be similar to that of a musician and their instrument.

I was at work and I asked a colleague a question and he proceeded to perform several operations on his machine. I noticed how quickly and gracefully he navigated the file system, files, and applications. In fact from that moment on I kept that experience in mind and mentioned it to several other developers in the group and they had noticed this persons grace as well. All of a sudden I felt like a kid holding his first guitar, strumming the strings and really not knowing what else to do.

My plan is to use software Kata's developed for everthing from the simplest to the more complex things in my profession. I will practice these Kata's dajavascript:void(0)ily, weekly, and monthly. I know with continued focus in this area I can bring my level up to a much higher level of grace and elegance. After all this stuff is fun why let the machine and my clunky interactions get in the way!