1. Home
  2. Smartpedia
  3. Coding Dojo

What is a Coding Dojo?

Smartpedia: A coding dojo refers to the joint practice of techniques and methods, development languages, platforms, frameworks and tools of software development.

Coding Dojo – the joint practice of software development

The joint training of techniques and methods of software development and the joint learning of new development languages, platforms, frameworks and tools is called Coding Dojo. The term dojo comes from Japanese and stands for training room in Japanese martial arts. In a dojo, katas – predefined sequences of fighting with imaginary opponents – are practised repeatedly. Transferred to software development, we therefore speak of code katas and coding dojos.

A coding dojo – sometimes also called a coder dojo – is about learning with and from each other. Practice can take the form of multiple pair programming, public with all participants, a beamer and a discussion, or cyclical development. Cyclic development is usually very popular, because software developers often adopt the code of other developers in practice. In addition, the process is very simple: A couple develops a solution for a defined problem while thinking out loud about approaches and solutions. After every 8-10 minutes, a part of the pair is replaced by another member of the group. In this way, each participant becomes active and both the general and individual learning curves increase.

Rules and principles of Coding Dojos

The Coding Dojo follows some basic rules and principles:

  • At the beginning the topic, the task, the procedure and the timebox should be discussed. This determines whether each participant can try out his own idea for solving the task or whether there is a common approach.
  • Communication takes place at eye level. The aim is not the perfect solution, but the way and the findings on this way. Even experienced developers can learn something using this approach.
  • Katas propagate alternative ways to a goal. The openness of the participants for unusual approaches is a prerequisite for this. Nevertheless, superfluous lines of code must be avoided.
  • Practice makes perfect. The continuous repetition of the Katas and the Dojos perfects the execution. At the same time it also promotes cohesion in the development team.
  • A moderator, e.g. a Scrum Master, is normally not needed. If there are problems, they can be addressed with the Scrum Master in a retrospective.

On the Internet you can easily find many examples of Katas. These exercises often address students or young professionals. Experienced developers in software development, for example, very rarely deal with prime factor decomposition or the representation of a fir tree. In real business practice, coding dojos therefore often revolve around new techniques, tools and frameworks and have a strongly explorative character.

Coding Dojo

Notes:

Here you find examples for coding dojos.

What does t2informatik do?

Was does t2informatik do? One click and you'll know it.

Here you will find additional information from our Smartpedia section:

 Smartpedia: How does Timeboxing work?

How does Timeboxing work?

Smartpedia: How does a Retrospective work?

How does a Retrospective work?