Coding Dojo Format

posted Jan 10, 2010, 11:52 AM by Erik Przekop   [ updated Jan 10, 2010, 12:10 PM ]
The Dojo meeting format is described well in this YouTube video.  If you get easily seasick, the camera work may make you queasy, though.  Here is a summary:


To practice a solution to a common programming problem and/or an specific software development skill.

Overview of the Process

One person types code into a computer connected to a projector.  A second person helps them stay on track by offering suggestions and fielding advice from the audience.  Members of the audience offer ideas and suggestions for things to try next and different approaches.  They take turns as the person typing code and as their partner.  One person acts as facilitator and helps the team guide themselves to a solution.


  • Sensei - guides the overall structure of the meeting, helps guide individuals to a solution without giving them specific steps to follow.
  • Pilot - the person typing in code.  Should switch off to being copilot (a.k.a. "sparring partner") after 10 minutes or so.
  • Copilot - sits next to the Pilot and offers suggestions about what to code next.  Divides attention between what the Pilot is doing and ideas from Advisors.
  • Advisors - everyone else at the meeting.  Active participation is a must from the advisors.  A new volunteer from the Advisors should replace the Pilot every 10 minutes or so.
A person will fill the following roles in order:
  1. Advisor
  2. Pilot
  3. Copilot
  4. Advisor
If time permits, an individual may be Pilot/Copilot more than once during the course of the Dojo.  The amount of time each person spends in the role depends upon the number of people present and the time available.  If we have 100 minutes and 10 people, each person should spend 10 minutes in the front.  100 minutes and 20 people allows 5 minutes per person.  (See rule 3 below.)


  1. The Sensei asks questions, but does not give answers.
  2. All must participate in code being written.
  3. Everyone must participate in sparring.