Recently I had been considering which jobs are most like a senior programmer position in terms of skills and the work environment. It occurred to me that a chess-master has a job that bears some similarities to that of a senior programmer. A chess master might play a Simul [2] which compares to a programmer or sys-admin fixing lots of small bugs at the same time. In a serious chess tournament up to seven hours may be on the time clocks – not an uncommon amount of time taken to find a subtle bug in a program. For quick chess games as little as three minutes may be on the clock for all your moves – similar to the situation where the network goes down and the CEO is watching you fix it. The intellectual abilities for playing chess and programming have many obvious similarities, memorising significant patterns to avoid re-calculation, having a large mental register set to allow considering complex situations or multiple possibilities at the same time, and being able to spend many hours thinking about a problem.

With that in mind one thing that particularly interested me in Shintaro’s post was the reference to a Japanese apprentice system where “They are trained at his masters house from early years maybe after junior-high, living and caring his boss every day life, like Go or Shogi players“. I wonder how this could be used in other cultures and career paths (such as English-speaking countries and computer programming). Probably the “every day life” part wouldn’t be well accepted.

When comparing with the high-school experiences that seem typical of people in the computer industry an apprentice program has a lot to offer. A small amount of pay (as opposed to school-fees) and an environment where laws apply (IE almost no bullying) are both significant benefits.

Anyone who is reasonably intelligent is most likely to find that they can’t learn anything from the teachers in the final years of high-school because most teachers don’t know much about the subjects that they teach and in the instances where the teacher does know more the class environment doesn’t permit teaching more advanced material.

Someone of average intelligence who has worked for 5+ years in an industry can always teach a beginner some useful things so there is some obvious potential to learn.

There is a meme that apprentice programs only apply to trades not intellectual work. This meme is probably correct when applied to many categories of office work but seems obviously wrong when applied to computer work. My observation is that at most places where I have worked there has been a significant amount of time from the most productive, skilled, and highly paid people spent on tasks that are way below their skill level – and often requiring skills that they don’t have. One example is when I was working for an ISP in a senior sys-admin position, when things really went wrong on the network I was usually the person to fix them – but I spent moderate amounts of time fixing hardware problems with desktop PCs and some time fixing Windows networking issues (of which I know little). Some of the problems I fixed could have been fixed by a 16yo apprentice who would probably have taken less time to fix them while also having a much lower hourly rate – and in some cases may have done a better job).

I’m not sure that having an apprentice assigned to an individual programmer would work well, but having one per team should.

3 comments to Apprentices

Apprentice system also applied to Sumo.
The other day, one sumo trainee died by bulling by his seniors or master himself.
He was beaten by baseball-bat, police once dismissed handling his death as heart-disorder but his father complained to TV and Sumo-Committee hastily dispelled the master from Sumo-World forever.
So, I think taining itself should be hard, but should not kill his nature or talent.

Newspapers used to have “copy boys”. Most of the Mainstream Media uses college students as interns, but I’ve never seen intern work that I couldn’t have done better in high school. Anyone who can install Linux, ship a package at FedEx, and participate in a mailing list has enough skill to be useful to me in the Media. (more)

Shintaro: 1 is not a statistically significant number, a single example of a nut-case does not invalidate the concept.

Sumo wrestling requires rough physical contact as part of the training (as does any contact sport), determining the correct amount of force to use is a potential problem and therefore it seems likely that there will be some potential for bullying to occur.

Go, Shogi, and computer programming are all professions in which no physical contact is expected. I stand by my claim that such apprentice programs would have almost no bullying as opposed to high-school where it is rife.