Structuring a Code Dojo

August 17, 2011

Enthusiasts often form code dojos to help each other improve. A common format for these meetings is for the group to gather around a projector and watch/coach a pair of developers through a challenge.

I am interested in starting a dojo with a different format. The group would meet regularly and tackle bigger or ongoing projects. The dojo itself could be set up like this: a central area with small attached rooms. Each room would have a blackboard and a desk with two chairs. The members would pair off and enter a room to work on the current challenge. After a set amount of time, the pairs would emerge and see which made the best progress. If the challenge remained unsolved, the group would shuffle pairings and go back to the rooms. Repeat.

I think this helps nurture diverse solutions while keeping the teams on track and introducing a healthy urgency. It also allows members to interact more thoroughly and learn each others’ ways of thinking.

Doing exercises in classic computer science books (SICPTAOCPElements) might be particularly suited to this format. The group could record their polished solutions in a public repository.