The London Python
Code Dojo

ldnpydojo / / @ntoll


"Acquiring coding skills should be a continuous process..."

Assumption: A good developer is always learning and re-evaluating in order to improve.

Deliberate Practice!


Parisian Dojo Rules



Prepared Kata

Randori Kata

  • Randori means "chaos taking" (freestyle).
  • Public pair programming using TDD.
  • Each pair has a time slot, after which:
    • Pilot returns to audience.
    • Co-pilot becomes the new pilot.
    • New co-pilot volunteers from the audience.
  • Relatively simple problem chosen (e.g. Roman Numeral Calculator)
  • Pilot gives running commentary of thought processes.
  • Only the co-pilot can ask questions and offer advice.


(London version)

We didn't know what we were doing and didn't stick to the rules!

Mistake #1 - Beer & Pizza

Mistake #2 - Lots of Pythonistas

Mistake #3 - Shut up Audience!

Stuff that wasn't supposed to happen...

  • Spontaneous applause for working code / passing tests.
  • Audience participation.
  • Lots of discussion & debate.
  • A generally noisy time.

Actually, that was good stuff

Like good free software hackers, we forked the dojo idea and made it our own

Dave's great idea

Ciaran's great idea

Suddenly we have two new dojo formats!

Show & Tell

Team Dojo

Show & Tell

More like a seminar than a presentation.

  • Interrupt
  • Ask questions
  • Debate
  • Code along
  • Point out problems...

Participation is expected

Team Dojo

Small team programming, teaching and learning in a safe place to fail with sympathy.

  • Suggest tasks
  • Vote
  • Split in to teams
  • ???
  • Profit (show and tell)

Suggest & Vote on tasks

Teams do the same task

Show and Tell

In the dojo we...

  • Learn by doing (practice)
  • Fail safely with sympathy
  • Teach one another
  • Explain ourselves to our peers
  • Explore each other's solutions
  • Build a community

(Building a community is important.)

If you're in London, say "hi"!

Image Credits

All images © the author unless listed below.

The following images are licensed under CC BY 2.0


The source for this presentation can be found online here: