The surprising truth about which personality traits do and don’t correlate with computer programming skills

What do Lisbeth Salander, Chloe O’Brien and Elliot Alderson have in common? They are all expert computer programmers or hackers, and (like most fictional portrayals of people with their skills), they’re all, well, rather odd and socially awkward. In other words, they all conform to the commonly held stereotype of the IT guy (or girl) – which must be one of the most stereotyped occupations in the world – as good with machines and programming code, but lousy with people and emotions. Is this stereotype fair? A new meta-analysis published in the Journal of Research in Personality, combining data from 19 previous studies involving nearly 1700 people, suggests the answer is (mostly) “No”. 
Timo Gnambs trawled the research literature looking for relevant studies that had measured people’s programming ability objectively (e.g. based on the number of errors in their programming code), and had measured their personality traits and intelligence. He found 19 relevant studies published between 1974 and 2014 and involving 1695 people (27 per cent were female) from the US, Australia, England and Canada (it’s a shame Gnambs doesn’t tell us more about who these people were, for example whether they were programming students or professionals). 
Unsurprisingly, and somewhat in line with the programmer stereotype, the strongest correlate with programming ability was intelligence. Cleverer people make better programmers. Also, introversion was correlated with programming skill – which makes sense seeing as introverts generally prefer a quiet environment away from crowds, and working on a computer and writing code fits with that preference. Conscientiousness was another relevant trait. Again this makes sense, because conscientiousness is about attention to detail. 
However, the personality trait most strongly correlated with programming ability was not introversion or conscientiousness, but openness: a trait that’s related to being creative and imaginative. What’s more, over time to the present day, openness has become a more important correlate of programming ability, while conscientiousness has become less important. This is speculation, but perhaps more creative people are today drawn to careers in programming because of all the opportunities for imaginative expression in a world of apps, video games, snazzy websites, and social networks. Finally, the traits of agreeableness (essentially how friendly someone is) and neuroticism (how anxious and emotionally unstable) were not correlated with programming ability, pretty much refuting the tired stereotype of the socially awkward programming geek.
A final thought: knowing someone’s personality and mental ability doesn’t actually tell you a great deal about their likely computer programming skills. Personality traits and IQ in fact only accounted for around 12 per cent of the difference between people in their programming abilities, which just goes to show that the very idea that there is such a thing as a computer wiz “personality type” is nonsense anyway. 

_________________________________ ResearchBlogging.org

Gnambs, T. (2015). What makes a computer wiz? Linking personality traits and programming aptitude Journal of Research in Personality, 58, 31-34 DOI: 10.1016/j.jrp.2015.07.004

Post written by Christian Jarrett (@psych_writer) for the BPS Research Digest.

Our free fortnightly email will keep you up-to-date with all the psychology research we digest: Sign up!

One thought on “The surprising truth about which personality traits do and don’t correlate with computer programming skills”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s