personal web log written by izabeera and dryobates

python coding dojo

First Coding Dojo

by dryobates

Today we have held first Coding Dojo session in our company. The goal was to get known with Coding Dojo idea and learn basic Test-Code-Refactor cycle.

I was preparing short presentation and doing simple kata for a few week before. I have done my prepared kata three times before I have showed it in Coding Dojo. Every time I have ended with solution that I was more proud of it. Kata was extremely simple: leap years. That forced me to think that Coding Dojo is really good idea.

Leap years kata is very short and good at introducing basic Test Driven Development cycle, but it's too short for doing it at Coding Dojo session where is about 10 participants. So for my coworkers I have prepared fizz buzz kata. That kata I have done also three times in home. Every time finishing with different, more elastic solution.

My wife was forced to listen my short presentation about Coding Dojo rules and basics of Test Driven Development, see my prepared kata (leap years) two times and do fizz buzz kata twice (once by herself and once in simplified randori version).

Then came the day that I should facilitate first Coding Dojo session in our company. I thought that first session should finish within 1.5h. My coworkers (and boss) enjoyed that simple kata so much that I couldn't break their fun. With retrospection whole session took 2.5h.

How was that? They catch with basic Test-Code-Refactor cycle very quickly. They generally used small steps - rule that I was afraid would be break notoriously. Even finished code wasn't very bad. OK it wasn't elastic enough. That's the part that we have to work on more, but that wasn't the goal of this session. I didn't force them much to go in that direction. As for the first time I think it was successful.

Next time we'll polish refactoring part. Then we'll focus on more elastic design.

Jakub Stolarski. Software engineer. I work professionally as programmer since 2005. Speeding up software development with Test Driven Development, task automation and optimization for performance are things that focus my mind from my early career up to now. If you ask me for my religion: Python, Vim and FreeBSD are my trinity ;) Email: