Priit Liivak

Code DOJO

What is it?

Dojo is the Japanese term for “place of the way”, but it mostly describes a training place for
martial arts. For us, it is a training place to learn more about writing good quality code and
gaining tremendously valuable insights into the way other people solve problems.

Who is invited?

Code Dojo is open to everyone. Regardless of your skill level or your job description in
Outlook email signature, you are welcome. This includes junior testers, senior architects,
project managers, analysts, lead programmers so well versed in their craft that the only
challenge they have in their daily work is the tough decision which flavor of syrup to add
to their coffee on this particular morning, programmers yet to discover the joys of Extract
Method refactoring shortcut key and you. Especially you!

Why do it?

To become better, practice you must! Two hours in a Code Dojo will teach you far more than
a month grinding out one Model-View-Controller after another. Solving seemingly simple
problems in different ways and under different restrictions will challenge your mind, seeing
how other people steer their solutions to glorious victory through the rocky Red-Green-
Refactor cycles will broaden your own approach and improve your skills. You are guaranteed
to walk away with multiple invaluable insights.

How do we practice?

We will solve a kata, a simple programming challenge using Test-Driven Development
methods. You are free to come and practice alone. I strongly encourage you to bring a friend
or find a partner in the Dojo and work on the kata together as a pair. To make things even
more fun, we also try randori, free-style practice where multiple people line up to solve the
kata on a single computer. The first person writes a failing test, the second person makes the
failing test pass and then writes the next failing test before passing the turn to next person in
line.

I have never used Test-Driven Development. Can I still participate?

Yes! You should definitely come. If you are not familiar with TDD, you can try solve the kata
without it, but be warned, you will be missing out on a lot of fun. I recommend pairing up
with someone or taking a turn in the randori line when you think you have gotten the gist of
it. Test-Driven Development methods used in Code Dojo are very easy to learn.

Which programming languages do I have to use?

You can use any programming language you are familiar with. Unit testing frameworks exist
for most languages (Java = JUnit, C# = NUnit, JavaScript = Jasmine, Scala = ScalaTest, Ruby
= Test::Unit, etc.) and for nearly all of them IDE support is available. So you can write your
tests in your favourite programming language (or the one you want to practise) and run them
in your favorite development environment.

Scroll to Top