How do you master a skill ? with deliberate practice.
If one looks at traditional craftsmen, they practice continuously, even when they are not producing a commissioned work, they are always practicing to improve their skills and make higher quality work.
It's the same for software craftsmanship. We need to practice deliberately to get better at our skills even when we are not on the job.
The approach of Test Driven Development (TDD) is the key to infusing quality in the software we produce.
A coding dojo is a regular hands-on event in finite space & time, away from the pressure of work and peers, where a group of developers of all-levels get together to practice writing code using test-driven development, so they can improve their skills and make higher quality work.
Instead of writing a real software (which we won't have time to do anyway), we use smaller exercises called katas, so we can focus on honing the process rather than getting carried away in software design (which is useful but is not the purpose of this event).
The setup take the shape of Coding Randori:
One computer, two people pairing.
One person write the tests, the other write the implementation.
The rest of people watch and can ask questions (but they cannot comment or make suggestions to the coding pair).
Every 5mn, one half of the pair rotate.
For this event, will we implement the kata using nodeJS.
The chosen kata we will be announced at the event.
Given it's our first event, I'll give a short introduction to TDD and to Coding Dojos before we actually start the event.
Also because it's the first event, please bear with us if things related to number of attendees, venue, timings and other things are not quite smooth yet. We may need to tweak things in the run-up to the event and during the events.
Finally, we will share the cost of running this event (expected to be mostly venue rental).
Hoping to meet many software artisans keen to improve their skills through deliberate practice!