Back to Ideas 4 min read

The Dojo Way: Deliberate Practice for Software Developers

E
EkoHacks Team
·

In martial arts, a dojo is not just a training hall. It is a philosophy. A place where you practise the fundamentals until they become second nature. Where the emphasis is not on learning new techniques every week, but on mastering the ones you already know.

Software development could learn a lot from this approach.

The Problem with Learning on the Job

Most developers learn primarily through their work. They pick up new frameworks when a project demands it. They learn about testing when a bug slips through. They discover the importance of clean architecture when a codebase becomes impossible to maintain.

This is learning through consequence, and while it works eventually, it is slow, painful, and expensive. You are essentially using production systems as your training ground.

Imagine a surgeon who only practised during real operations. Or a pilot who only trained during commercial flights. The idea sounds absurd, yet this is exactly how most software teams operate.

What Deliberate Practice Means

Deliberate practice is a concept popularised by psychologist Anders Ericsson. It has three key characteristics:

It is focused. You work on a specific skill, not everything at once. Today you practise writing clean functions. Tomorrow you practise refactoring legacy code. The day after, you work on test design.

It involves feedback. You need someone or something to tell you what you are doing well and what needs improvement. In a dojo, that is your instructor. In software, it can be a mentor, a pair programming partner, or a well designed code review process.

It pushes you beyond your comfort zone. If the exercise is easy, you are not learning. Deliberate practice should feel challenging. That discomfort is where growth happens.

How the Dojo Model Works

Our workshops are built around these principles. Each session has a clear skill focus. Participants write code, get immediate feedback, and iterate. There are no slides. There is no sitting and listening for hours.

A typical dojo session looks like this:

  1. Introduction (10 minutes): The facilitator explains the concept and the exercise.
  2. First attempt (30 minutes): Participants work through the problem, usually in pairs.
  3. Review (15 minutes): The group discusses approaches, trade offs, and common mistakes.
  4. Second attempt (30 minutes): Armed with new understanding, participants try again.
  5. Reflection (15 minutes): What did you learn? What would you do differently?

The magic is in the second attempt. By the time you come back to the problem, you have heard other perspectives, identified your own blind spots, and formed a clearer mental model. The improvement between the first and second attempt is often dramatic.

Repetition Is Not Boring

One objection we hear regularly is "why would I solve the same problem twice?" This reveals a misunderstanding about what repetition does for skill development.

A musician does not play a piece once and move on. They play it hundreds of times, each time refining their technique, their timing, their expression. The goal is not to get through the piece. The goal is to internalise the patterns so deeply that they become automatic.

The same applies to software. When you practise test driven development on a simple problem, you are not learning that specific problem. You are building the neural pathways for a way of thinking. You are training your instincts. So that when you face a complex, high pressure situation in production code, the approach comes naturally.

Building a Practice Culture

The most powerful thing about the dojo model is not what happens during the session. It is what happens afterwards. Teams that embrace deliberate practice start to see their daily work differently.

Code reviews become learning opportunities, not gatekeeping exercises. Pair programming becomes a natural way to share knowledge, not an awkward obligation. Retrospectives become genuine reflection, not a ritual to endure.

This cultural shift is what separates teams that grow from teams that simply accumulate experience. Experience without reflection is just repetition. Experience with deliberate reflection is how you build genuine expertise.

Starting Small

You do not need a formal programme to start practising deliberately. Here are three things any team can do this week:

Set aside one hour. Pick a problem from an online kata catalogue. Work through it as a team, focusing on clean code rather than speed.

Review your own code from six months ago. What would you do differently? What patterns do you see now that you missed then?

Pair on something unfamiliar. Find the area of your codebase that nobody understands and explore it together. Ask questions. Draw diagrams. Build understanding.

The dojo is not a place. It is a mindset. And it starts with the decision to treat your craft seriously enough to practise it.

E

Written by

EkoHacks Team

More from Ideas

·6 min read

The Website That Told the Same Story Twice

Our home and story pages felt like one story stretched across two screens. Rather than argue about it by taste, we modelled our own words as data, asked a small database one question, and let it show us exactly what we were repeating.

E
EkoHacks
The Workflow Is the Lesson
·4 min read

The Workflow Is the Lesson

We are moving our content out of a cloud CMS and into git. Here is why a school that teaches a keyboard first, code first way of working should practise it in the open, and the path we are taking to get there.

E
EkoHacks
Dockerising a NestJS and Nuxt Monorepo with pnpm
·6 min read

Dockerising a NestJS and Nuxt Monorepo with pnpm

A practical guide to Dockerising a NestJS and Nuxt monorepo using pnpm, with separate multi stage Dockerfiles for development and production and a single Docker Compose setup for consistent, reproducible environments.

O
Ogochukwu Okpala
EkoHacks

EkoHacks is a coding institute teaching employable software engineering through real projects. We build civic technology and train developers, born in Nigeria, launching in rural Greece. Global tech, local impact.

Stay Tuned

Be the first to hear about new dojos, insights, and opportunities from EkoHacks.