Sergio and the sigil

Performing Code Katas

Posted by Sergio on 2008-10-13

I just came back from the first meeting of the Software Craftsmanship Group. Tonight Micah Martin talked about Code Kata but added an extra facet to it.

Micah proposes that, although practicing the Katas by yourself, in your spare time, is valuable, presenting your routine to an audience can deliver even more results. For the presenter there is the opportunity to gain feedback from the audience (peers, masters, even pupils.) For someone watching there's the chance of seeing another peer (or even a master) in action and learn how other developers approach problems and construct their software. By the way, it takes a non trivial amount of courage to sit in front of an audience and write code, even if you have practiced it several times beforehand.

To demonstrate this concept, Micah created a Ruby program that implemented Langton's Ant. I'll try to illustrate the results of this experience.

The audience - me (and many others)

Once Micah explained what the problem was, he asked that we watched him code and be prepared to evaluate his performance (quality, smoothness, clarity, etc.)

Although I know a little bit of Ruby, I'm by no means a proficient Ruby developer yet. Seeing someone that works with the language all the time in action would be interesting no matter what. But there was more in it for me.

Micah, as a true BDD pratictioner, started by creating the specs with RSpec and proceeded with the red/green/refactor iterations until he achieved a complete successful specification execution.

There's nothing like seeing a technology at work to understand it better. Tonight's performance contributed a lot for my BDD understanding.

The presenter

After the presentation we had to rate it (0 to 10) and give some feedback. There's where the other Ruby and BDD ninjas in the room could make educated comments about Micah's performance and average joes like myself could comment on less sophisticated issues like font size and keystrokes.

Judging by the constructive feedback, I'd imagine the presenter's future performances will be fine tuned and get better. On that note, the suggestion is that the presenter moves on to a different Kata for each performance.

Buncha' Links