Monday was the fourth iteration of the Dojo. Fourth, already ? Yes, indeed.
For sound reasons, the name of that fourth iteration was Dojo #3.
The overall, grand purpose of the Dojo is to create, or perhaps discover, a
different way of teaching programming skills. It is a way that doesn't entail
sitting on lectures, turning in homework, or exams. It is a way that doesn't
promise to teach you Important! New! Technology! in just three days, or your
money back. In fact, most of us expect that there is a few years' worth of
weekly two-hour sessions in this thing, if not more.
I think "discover" is the right word, although every session is an occasion
for lively debate over what material to cover, how to cover it, what should
or shouldn't go on between sessions, what aspects of the chosen metaphor are
useful, neutral or downright harmful. We make decisions; tentative ones, that
we are in principle ready to back out of as needed.
When the idea of an "object Dojo" originally forced itself on me, there were
a number of things that seemed to be obvious features of the format. It would
consist of a number of people coming together for one or two hours, at very
regular intervals, ideally weekly. Their purpose would be the mastery of the
craft of programming. They would pursue that purpose by practicing the craft
together, students learning from masters, with the understanding that every
master is also a student, that mastery is not an end state but merely one
station along an infinite path of learning.
It's been interesting and frustrating to go from vision to reality. I have to
thank my friends and acquaintances from the XP community for prodding me,
after my initial ramblings about an "object Dojo", into actually doing something
with the idea. Emmanuel in particular supported it with fervor and flair.
In going from vision to reality, adjustments need made, some major, some minor.
Major or minor may depend on point of view - for instance, I'd call minor the
fact that the Dojo became a "coding Dojo" instead of an "object Dojo". With
respect to major changes... I say "frustrating" above, because in the realization
some things that seemed "obvious" in vision turn out to be difficult in practice.
One of these is the idea of having every participant in the dojo actually code
during the session. For some reason, I can't shake the feeling that this is
crucial to the "true nature" of the Dojo, but many participants don't share
this feeling or are skeptical of it.
Negotiating these issues is, naturally, also part of the learning experience.