Progression

4 views
Skip to first unread message

Samuel Toriel

unread,
May 23, 2011, 1:59:02 PM5/23/11
to orlando-dojo
First of all, I want to preface this with the fact I have only been to
one 'actual' dojo event, but I wanted to share some of my thoughts on
how I felt after attending. David, you definitely have a knack for
sort of "guiding" discussion at the dojo in the right direction. The
timing and speed for the discussion was fairly on point. I also want
to say that I am sorry I couldn't stay for a social chat afterward,
but we had some other things going on that day that we had to attend
as well.

From what I gathered after the first dojo the group pretty much
chooses a language before each event and tackles some pseudo problem
which we can develop some test-driven development. At the end of the
event, a gist is posted on github to review later if we wanted. After
this, there is no continued development of this event, at the next
event we pick another language and another problem to tackle, we can
even choose the same language / problem to tackle again, albeit from
the start. Tests are not completely different in every language, they
more or less follow similar patterns. In our latest dojo and from the
gist of the last dojo that I saw, it seems like the amount of time
spent isn't sufficient to get very far into a problem set, we pretty
much just write the boilerplate of the tests, which doesn't really
facilitate learning as the next dojo we start anew.

A thought I had was maybe having dojo's be progressive, where every
2-3 dojos we switch languages / problem sets, and having a git repo or
branch for each project. That way people can go to the dojo, get an
idea of what we are working on, go home, fork the project, add more
stuff to facilitate their own learning, and merge to the master branch
so others can see / comment / edit, then have another dojo, see where
we are at and make sure the direction is correct, and repeat. This
also has the possibility of opening up "real" projects and not just
pseudo projects, so people can all contribute to an actual open source
project, but that is just more wishful than anything.

Anyway, feel free to rip my message apart if you don't like it :)
these are just some thoughts I had after attending.

David Rogers

unread,
May 24, 2011, 9:34:00 AM5/24/11
to orlando-dojo
Samuel,

Thanks for the feedback, and I appreciate the compliments. I'm not
usually the sole director, just the General Consensus (old joke).
Caike usually heads things up and has a lot more experience with the
dojo. It's amusing to listen to the two of us debate software
practices; there will be at least one re-hashing of the "Command-
Query" design principle each meeting. :D

The "progressive dojo" concept you're referring to is certainly
another viable method of doing things. I think you'll find that in
practice, though, it only works when the same group attends every
session. Over the last year or so of running these, that has not been
our experience. While it's maybe not such a great idea when you're
only meeting for a couple of hours on a Saturday, that format does
work great for something called a "Code Retreat", which we've talked
about several times before at group. It's kind of like an all-day dojo
(see http://coderetreat.com/how-it-works.html for more).

I hope you'll come back to a couple more dojos, though, just to see
the benefit of our approach. It's not for everyone, though. Some
people don't find value in test-driven development. Some don't find
value in practicing with something trivial: the programmer's
equivalent of scales and arpeggios. Some people really can't stand
starting from scratch every time, regardless of the triviality of the
problem. Some folks really don't see any value in learning and
struggling with a language other than the one they use every day for
their job. These people don't have fun at the dojo, and that's okay.

Not everyone understands the purpose or appreciates the training
required to chop perfectly good lumber into pieces with their hands
and feet. Chuck Norris does. I'd like to think that if he was a
programmer, if he lived in Orlando, and if he could bring his own
Chuck-Norris-proof keyboard, he'd come to the dojo. ;)

David

caike

unread,
Jun 2, 2011, 12:22:25 PM6/2/11
to orland...@googlegroups.com
Hey, Samuel.

David and I share pretty much the same opinion on "progressive" dojo. While it may sound interesting, it might discourage new people to attend. Doing a problem from scratch on every sessions makes it easy for people to show up according to their availability, knowing that whenever they are able to show up, they will be able to participate in the Coding Dojo process from the begining.

Also, regarding the code that is produced, it reflects the contribution of the group as a whole - specially in the first 15 minutes of discussion when we all try to agree on what path to take. The greater the participation from each one involved, the better and 'faster' the code will be produced.

The idea for a "real" project sounds excellent for a hack fest and I would love to be part of it. However, having a "real" project in the Coding Dojo, besides turning the solutions into "progressive" solutions, might also introduce constrains like performance, scalability, etc which might take away the freedom that the Coding Dojo environment offers - freedom to make mistakes and freedom to try out new things.

The more Coding Dojos I help organize and participate, the more I tend to see that the greatest bottleneck in software development is not coding, but communication. Every participant can pretty much solve the problem on their own, regardless of the language in question. But when people are forced to solve it as a group, then the difficulty level grows exponentially. That's why even the simplest problems might not be solved in 2 whole hours of programming!

Thanks for joining our group and I hope we can talk more about this in person!
--
Regards,
- Carlos

Reply all
Reply to author
Forward
0 new messages