There 10 types of people: those who can program and those who can't

Clay has posted on article over at BoingBoing on a test that can predict whether people will be able to learn programming or not. It’s been observed for many years, and I can attest from personal experience, that there are people who can learn computer programming, and people who can’t. Any amount of instruction won’t change this.

Having just finished ITP, this immediately struck a chord. ITP projects are at the intersection of art and technology, and often require a high degree of technical skill to make them work. Some people don’t have the technical skill, and end up collaborating with someone who does. Moreover, there seemed to be a basic question of aptitude: some people “get” coding and electronics (even without previous instruction), and others don’t, and I never saw someone from the latter group join the former.

The lack of coding ability seems to create immense amounts of stress, and often drives the success or failure of complex projects. The research cited in the article suggests that there is little to be done about this: you simply can’t teach the mental habits.

This finding has interesting implications for a number of projects. For example, the OLPC project seems heavily skewed towards teaching programming (it includes no less than 3 different programming environments – Python, Smalltalk and Logo – but nothing like a typing tutor).

The title of Clay’s article, about being comfortable with meaninglessness, also has another interesting implication. This is purely anecdotal, but I have noticed that people who are good at programming, who are “comfortable with meaninglessness”, tend to have very positive reactions to some types of pyschedelic experience. Perhaps this is because they are better able to let go of a “common sense” model of the world, and accept another with its own rules?

Note: the title of my post is a joke, which will probably sort readers into the two groups.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>