Computer programming varies in difficulty just as math varies in difficulty. So just as we have people who do basic accounting with IQ’s in the 90’s, and people who work with differential or algebraic geometry who are in the 140’s, we have people who program at 100iq and those that program in the 140s.
As far as I know the average computer programmer has +.5 to +1 SD. (107-115) And the average computer science graduate has +1.5 SD ( 120’s ).
Although we must realize that these numbers are from iffy data they do match what we would predict given the (wide) distribution of programming tasks, and the rough baseline that “problem solving intelligence begins at 106.”
Programming well is like any craft: if you make 1m chopstics I don’t know how good you will be at carpentry. If you make five programs of every design pattern in the three families of programming languages (imperative, functional, declarative), you are going to be a pretty good programmer.
The more important property of the best programmers (which I am not) is the same as the most important property in mathematics: short term memory. I have a rather weak short term memory but I remember almost everything I see, read, hear and think – if I’m paying attention that is. So I tend to be good at solving ‘the big problems’ but it seems that I take forever to program them because I get distracted by tangent possibilities when I am working. So I would argue low neuroticism ( a mind that stays in context ) or one that has practiced any of the mental disciplines (mindfulness) is as important as intelligence.
Source date (UTC): 2016-07-31 01:07:00 UTC
Leave a Reply