Software engineers — are they really difficult, or just different?

We’ve all heard the joke about software engineers: What’s the difference between an IT introvert and an IT extrovert? The introvert stares at his own shoes while speaking to you. The extrovert stares at your shoes.

Is there a grain of truth in this joke, or is it simply a cheeky jibe at the people who are shaping the world we live in? The short answer is that software engineers do have different dominant personality types compared to others in the business, and this has implications for how they interact and work, and ultimately for how well they engage with business people and deliver customer outcomes.

Often things that business people find irritating are seen as necessary or even desirable by IT people. Business people’s observations that “IT people are annoyingly nit-picky and focus on trivial details” or “they are socially clueless and say rude things” translate into “a need to understand the detail so that we be more creative” or “it’s important to be honest and direct” in the world of IT people. Some of this is due to their training and work context. However, much of it is due to the personality types of many of the people who go into IT.

Typically we think of IT people as Nerds or Geeks. Nerds are seen as being super smart technical people who can endlessly chat about technical stuff and often lack social graces. Geeks are also seen as technical experts or enthusiasts. The difference is that they are seen as cool in their eccentricity and individuality. They are the guys and gals who understand the digital World, and are creatively making it all happen. Geek really is the new sexy!

What are the dominant personality traits that underlie Nerds and Geeks? If we look at it using Myers-Briggs profiles (I know, it’s not perfect, but it is credible and serves to illustrate the point) we find that the I (introversion), ST (sensing and thinking), and NT (intuition and thinking) profiles are disproportionately represented in software engineers by a significant margin (between 2 to 5 times as prevalent as in the general population). This implies a dominant culture influenced by people who live in the world of ideas, are logical and objective, and focus on practical realities and/or use their ingenuity to solve problems — thoughtful, rational, independently minded people who are more interested in work involving solving problems than work involving nurturing others.

This is interesting, but more importantly, has implications for leadership of teams of software engineers. Firstly, they are generally curious, have their own opinions, and are self-motivated. So, don’t kill that self-motivation by excluding them from decision-making nor through micro-management. Then, to encourage motivation, create an environment where they are assigned to projects (oops, that’s a dirty word where I come from — rather Feature Teams) that they are interested in and understand the significance of. Ensure that your teams are not too large, have enough quiet-time and space, and have interdependent tasks. Finally, add in a bit of competition with other teams/organisations and some free food from time-to-time , and you will be well on your way to having happy, motivated and high-performing individuals and teams!

So, next time you are chatting to a software engineer, ask him about the latest problem he is solving. Then catch his eye in the reflection of a shoe (his or yours, depending on his personality profile), and I am sure your will see a sparkle of excitement and satisfaction!


The Correlation Between Personality Type and Individual Performance on an ICT Project by Natasha Vito Ferreira & Josef Langerman

This was a guest post by Ashley Leibowitz, a Change Manager at Standard Bank South Africa. Ashley is responsible for changing the hearts and minds of all the IT people involved with the Personal and Business Banking division.