“…we figured out a team way of teaching each other how to
program and work together that is reminiscent of XP - which I would like to
create again here at NWC.
The goal is four lead programmers and twelve students - three weeks - three
days a week (M, W, F) for two hours a day. So - it is actually six hours
per programmer, but the idea is that we teach general programming concepts
for a particular project - and divide the work amoungst the teams.
To me, beginners don’t struggle with following the road map, they struggle with being
able to draw the map from scratch: i.e. why Rails, why Linux, why MySQL,
what does those choices give us in the short term, what does it give
us in achieving our long term goals, what are our challenges going to
be?
In the old days - there were guilds of people working to learn a trade - and
they would work with a Master Craftsman to learn the trade. This concept of
individual training is born out of the education system that had been
developed for building professors (one lone person becoming particularly
knowledgeable about a single area of knowledge).
The Apprenticeship program is not like that - and the idea of open knowledge
and collaborative training is beginning a resurgence with the freedom of
information showing itself on the Internet.
I like the journeyman/apprentice approach. I think this
is something that has benefits that are completely ignored by self-
training, traditional classroom and usergroup scenarios. I do have
some concerns though.
Historically, the apprenticeship was a mutually beneficial
arrangement. The apprentice received instruction, and the journeyman
received inexpensive labor.
I guess I’m saying that I doubt too many people have trouble becoming
a developer (if they are interested in that)…it’s becoming a CTO
that’s the more interesting challenge and thing that I think requires
more experience, mentoring, and/or guidance…