Coding Dojo


Kata: Gilded Rose
Type: Safe Refactoring + Legacy Code
Location: Centrul Precis - the new building next to Automatic & Computer Sciences Faculty of Politehnica Bucuresti (UPB)

- more attendees (20-30) will be accepted, but only 6-8 developers will take turns to write code. The "active" participants will be selected at start of meeting amongst those with most experience.
- the rest of the participants are free to assist and help out with ideas, but they won't actually get the keyboard.
- unlike a "regular" dojo, I will take the liberty to be more active and intervene in the process with explanations, questions and conclusions.


A Coding Dojo is a team practice format that accelerates knowledge transfer and sharing skills between team members. With an experienced facilitator, it is also a way of learning by applying various techniques.


The following skills are typical candidates for improvement during a dojo:

• Refactoring
• Simple design
• Clean code
• Improving pair programming technique
• How to safely modify code you don't understand (usually legacy code)
• Learning a new programming language
• Unit testing
• Test driven development

In addition, coding dojo can be used by a team as a collective and structured way of solving difficult or risky problems related to production, like fixing a bug or redesigning parts of the application.

How it works?

The basic format of a coding dojo:

• All developers and the facilitator gather in a room.
• The facilitator introduces the purpose and the format of the coding dojo.
• One laptop with a functional development environment is connected to a projector.
• Two developers pair program on the laptop. The others are in the room, watching the code changes.
• Every 7 minutes, one developer leaves the laptop and the next one from the room takes his place.
• After a specified period of time (usually around two hours), the dojo ends with a retrospective.