WhatIsCodingDojo
Definition
A Coding Dojo is a meeting where a bunch of coders get together to work on a programming challenge. They are there to have fun and to engage in DeliberatePractice in order to improve their skills.
The ParisDojo focuses on coding in front of others, most often something from scratch, in a very short amount of time (1 to 1.5 hours). They use various languages, various tools, various exercise formats. They consider the outcome of an exercise successful when it is completed within allocated time AND audience can repeat the exercise at home by themselves.
Maybe the CodingDojoPrinciples help to understand what the CodingDojo is about.
Premises
- Acquiring coding skills should be a continuous process
Characteristics
- Non-competitive, collaborative, fun environment
- All skill levels are welcome
- Safe to try new ideas
Requirements
- Meeting room with enough seats (typical attendance varies between 5 and 20 ?)
- At least one PC or laptop
- A digital projector (‘beamer’)
Process
- ParisDojo version:
- 2 minutes: decide on date for next session
- 25-30 minutes: quick retrospective of the previous session; what went well, what was interesting, what was frustrating
- 10 minutes: decide on a topic for this session (we call these first three items the “next, prev, this” protocol)
- 40 minutes or so: code! PreparedKata or RandoriKata , see below
- 5-10 minutes: mid-session break to discuss how things are going
- 40 minutes: code some more
Types of Meeting
PreparedKata
- A presenter shows how to solve the challenge from scratch, using TDD and BabySteps .
- Each step must make sense to everyone present for.
- People should interrupt only if they don’t understand what is going on.
RandoriKata
- The challenge is solved by the coding pair (driver and copilot).
- Everyone present is invited to help.
- Each pair has a small (5 or 7 minutes) timebox to advance, using TDD and BabySteps .
- At the end of the timebox, the driver goes back to the audience, the copilot becomes driver and one of the audience step up to be copilot.