Software Creation Mystery - http://softwarecreation.org

Five Big Personality Traits of a Programmer. Do They Matter?

“Variety is the spice of life”

Did you see a software team with members that are

  • always stressed and full of fear to fail or completely indifferent to end results?
  • totally agree with each other and satisfied with their product, but very far from harsh reality?
  • competing and fighting for the true solution, but cannot achieve common goals?
  • always inventing something interesting, but cannot focus on work and deliver software?
  • overly disciplined, planning everything, but deliver mediocre boring results without any spark of imagination?
  • having excellent communication, rapport and environment, but spend most of the time talking than working?
  • sitting in separate cubicles without talking, barely understanding what others are doing?

Can these teams be successful? What is the root cause of their problems? How these problems could be prevented?

Our personalities


One of the most interesting things about humans is their personality. We are different in behavior, reactions and feelings in the similar situations. These wonderful personality traits make our life refreshing and sometimes totally unpredictable. Do they matter in software development, apparently logical and rational activity? I believe that people are the most important factor in the software development and they determine success. A programmer’s personality affects behavior and therefore it must have significant impact on the work itself.

Empirical research shows five broad dimensions of personality:

  • Openness – appreciation for art, emotion, adventure, unusual ideas, imagination, curiosity, and variety of experience.
  • Conscientiousness – a tendency to show self-discipline, act dutifully, and aim for achievement; planned rather than spontaneous behavior.
  • Extroversion – energy, positive emotions, and the tendency to seek stimulation and the company of others.
  • Agreeableness – a tendency to be compassionate and cooperative rather than suspicious and antagonistic towards others.
  • Neuroticism – a tendency to experience unpleasant emotions easily, such as anger, anxiety, depression, or vulnerability; sometimes called emotional instability.

What are the best personal traits for the programmer? Before answering this question, I want to mention research of rudimentary personality traits in wild animals. Small birds, great tits, have personality ranging from highly exploratory to more cautious one. Scientists found that the both personality types are optimal, but under different conditions. When resources were scarce it paid the birds to dispense further. However, when resources are abundant more cautious birds were more likely to survive. Morale is that our evolution preserved different personalities for the good reason. They help us to survive and advance under various unpredictable conditions. They made overall population resilient to changing environment, threats and challenges.

Software teams need diversity not only in skills, experience and knowledge. They need the optimal balance of personalities to effectively build software, especially in our rapidly changing technological, business and social worlds.

Five Big Personality Traits

Openness

Intellectual curiosity – open to new experience, new ways of doing things.

High – Explorer

Positive: imagination, creativity, flexibility, innovative, open-minded
Negative: over-complication, ambiguous, distracted, reinventing the wheel, seeks complexity
Optimal contribution: new ideas / creative and innovative solutions
Professions: entrepreneurs, architects, change agents, artists, theoretical scientists

Low – Preserver

Positive: vigilance, practical, concrete, pragmatic
Negative: narrow minded, conservative, conforming
Optimal contribution: pragmatic implementation, attention to details, stability
Professions: financial managers, performers, project managers, applied scientists, police, sales

In the middle is Moderate – can explore novel solutions with interest; on other hand can focus on familiar for extended period of time.

Conscientiousness

Degree to which we push toward goals at work. Control, regularity, direct impulses.

High – Focused

Positive: organized, disciplined, persistent, industrious, dependable, plans everything
Negative: perfectionist, workaholic, boring, formalist, craving for achievements
Optimal contribution: discipline, reliable results, organized and planned work
Professions: high achievers, leaders, executives

Low – Flexible

Positive: fun, colorful, playful, imaginative, open ended, creative, relaxed, multi-tasking
Negative: spontaneous, impulsive, unreliable, easily distracted
Optimal contribution: fun, improved morale, imagination spark, unexpected insights
Professions: researchers, detectives, consultants

In the middle, Balanced – can move from focus to laxity and from production to research

Extroversion

Degree to which person can tolerate sensory stimulation from people and situations. Engagement with external world

High – Extravert

jmtimages
Positive: enthusiastic, action-oriented, sociable, outgoing, trust others
Negative: need attention, risk prone, low energy when alone
Optimal contribution: enthusiasm, communication, shared understanding, team aligning and bonding
Professions: sales, politics, arts

Low – Introvert

Positive: stoical, self-sufficient, independent, can work alone
Negative: reserved, retiring, deliberate, skeptical
Optimal contribution: independence, focus, ability to work alone without interruptions
Professions: production managers, natural scientists

On between two extremes, Ambivert – move comfortably from outgoing social situations to isolation of working alone

Agreeableness

Degree to which we defer to others. Need for cooperation, social harmony

High – Adapter

howie_berlin
Positive: friendly, helpful, cooperative, empathetic, tolerant, agreeable, accepting
Negative: conformity, lack of focus, over trust, lost sense of self
Optimal contribution: team play, cooperation, support, empathy, harmony
Professions: teachers, social workers, psychologists

Low – Challenger

Positive: objective, tough decisions, individuality, expressive, persistent
Negative: self-centered, suspicious, ruthless, hostile, rude, need for power
Optimal contribution: tough decisions, objective, independent and critical views, challenging status quo
Professions: advertisers, managers, military leadership, critics, soldiers

In the middle, Negotiator – able to move from leadership to followership as the situation demands

Neuroticism

Degree to which person responds to stress. Emotional stability

High – Reactive

Positive: vigilance, responsive to threats, sensible, reactive, insecure
Negative: easily stressed, anxious, over emotional
Optimal contribution: sensitive, responsive attitude
Professions: social scientists, customer service.

Low – Resilient

Positive: calm, secure, self-satisfied, unflappable, resilient
Negative: unflappable, laid-back, impervious, indifferent
Optimal contribution: calm, confidence, optimism
Professions: air-traffic controllers, airline pilots, military snipers, finance managers, engineers

In the middle, Responsive – able to turn behavior from both extremes on what seems appropriate to the situation

Comments:

  • Scientists think that heredity and environment play equal role in possessing these traits.
  • In young ages Agreeableness, Conscientiousness increases, Extraversion, Neuroticism and Openness decreases. But it doesn’t change much after 30. Therefore you could expect that the 20 years old unorganized and always arguing developer could become more disciplined and agreeable in the future, but don’t expect much changes from the 40-years old programming veteran.

Combinatorial Traits Matrix

Some traits are more beneficial for the software development: Explorer, Focused, Extravert. Other could also nicely compliment each other like Focused Preserver or Open-Minded Challenger. Some traits could be dangerous for the project and team like Nervous Preserver or Agressive Challenger.

  Explorer
(high openness)
Preserver
(low openness)
 
Focused
(high conscientiousness)
Open-minded disciplined
creator
(reliable innovations)
Pragmatic implementer
(predictable results)
Flexible
(low conscientiousness)
Creative spontaneous artist
(unpredictable ideas)
Troubleshooter Focused
(high conscientiousness)
Flexible
(low conscientiousness)
 
Extravert
(high extraversion)
Inspirational visionary
(creative vision)
Cheer leader
(stability)
Team leader
(energy and direction)
Soul of the team
(morale)
Introvert
(low extraversion)
Independent inventor
(thoughtful solutions)
Quiet worker Productive achiever
(quality results)
Impulsive individualist Extravert
(high extraversion)
Introvert
(low extraversion)
 
Adapter
(high agreeableness)
Catalyst
(integrated views)
Tolerant follower Coach
(experience)
Submissive collaborator Mediator
(harmony)
Conformist
Challenger
(low agreeableness)
Strong-minded pioneer
(tough decisions)
Realistic critic Industrious opponent Debater Opposition leader Discordant employee Adapter
(high agreeableness)
Challenger
(low agreeableness)
Reactive
(high neuroticism)
Sensitive scout
(warning)
Nervous conservator Stressed workaholic Emotional artist Alarmist Neurotic avoider Sharp companion Aggressive competitor
Resilient
(low neuroticism)
Forward-looking robust
fellow
Die Hard Bureaucrat Indifferent procrastinator Optimistic supporter Stoical soul Easy helper Skeptic

Legend

Excellent combination
Good
Neutral
Damaging

Team Traits Checklist

A team could work on the green-field new development to maintenance projects. Therefore, proportion of optimal personalities will be different. Team leader could use this checklist to find out if his team is diverse enough.

Desirable contribution Question – Do you have…
Trait Probable Ratio
New ideas / creative and innovative solutions creative people capable for coming up with new exciting ideas, innovations and creative solutions? Explorer new: 70/30
maintenance: 30/70
Pragmatic implementation, attention to details, stability down-to-earth people who will concentrate on implementation and mundane details instead of building castles in the sky? Preserver
Discipline, reliable results, organized and planned work disciplined productive people who will reliably deliver results in consistent and organized manner? Focused new: 60/40
maintenance: 80/20
Fun, improved morale, imagination spark, unexpected insights open-ended people, who could spark imagination, bring unexpected insights and make team feel better? Flexible
Enthusiasm, communication, shared understanding, team aligning and bonding enthusiastic outgoing people who establish great communication channels, create shared understanding and jell the team? Extravert new: 60/40
maintenance: 40/60
Independence, focus, ability to work alone without interruptions independent people, able to work alone without interruptions and distracting other people? Introvert
Team play, cooperation, support, empathy, harmony team players, who support and follow team decisions and readily cooperate with others Adapter new: 60/40
maintenance: 80/20
Tough decisions, objective, independent and critical views, challenging status quo objective people, who could challenge status quo, have independent opinion and can make tough decisions? Challenger
Sensitive, responsive attitude sensitive people who could warn and early respond to changing conditions and threats? Reactive new: 40/60
maintenance: 20/80
Calm, confidence, optimism calm confident people who could face challenges and crisis without breaking down? Resilient

How to make personality traits work?

1. Recognize that people have different personalities. We cannot do much to change them in an adult age (in many cases even after the birth).

2. Assemble a diverse team covering a range of personalities able to effectively respond in different situations. Don’t hope that you’ll find perfect match in one person – all of us have strength and weaknesses. And often you’ll need opposite personalities (I’m against hiring people with multi personal disorder to solve this problem :)). It is true, some people could conditionally switch behavior between opposite trait extremes, but most of us are comfortably operate only in the narrow range. Therefore, we should look for the optimal combination of traits in different people, which compliment each other.

Minimal requirements for the software team member:

  • Respect to other people
  • Can listen and accept other views
  • Can learn and change

3. Create an open, honest and tolerant atmosphere and rules where people can resolve diverse opinions and approaches stemming from the different personalities. This is a quintessence and the most powerful tool of the diverse team – finding effective balance between different views for the particular people, project and situation: Stability vs. Innovation, Creativity, vs. Simplicity, Risk vs. Predictability, Cooperation vs. Individualism, Fun vs. Hard-work, Implementation vs. Research, etc. The best outcome is than people effectively resolve these views, make optimal decisions and become comfortable with them. And the team could leverage different personalities if:

  • Overall team members experience and expertise matches the problem
  • Everybody feels fair, satisfied with work and compensation
  • The team is self-organized or at least has enough freedom to make independent decisions.

Final words

It is a problem than a software team doesn’t have balanced personalities and one of them becomes dominated. The team could be infected by one or few of the problems I’ve started the post with: constant stress, overconfidence, groupthink, building dream castles, fighting with each other, lost focus and many others. While we could blame our customers, ugly problems, bad managers or crappy technologies and tools for the problems, our personalities are often the very reason for the problems with our software projects.

A diverse, self organized and balanced team with right personalities is not panacea from all the problems, but it substantially increases chances for the overall success. And, don’t forget to appreciate the gift, the nature gave to us, to become great software creators – our personalities :).

And questions: What criteria your company / leaders are using to assemble software teams? Do they care about personalities?

Interesting resources:
Big Five personality traits, Wikipedia
The personality factor: What makes you unique?, New Scientist
The Big Five Quickstart, Center for Applied Cognitive Studies (CentACS)

AddThis Social Bookmark Button AddThis Feed Button


Comments

Great article and a somewhat misguided attempt to apply it to programming. I find it helpful to look at personality indexes such as this from time to time and evaluate how I’m operating within my job. I beleive work personalities can differ depending on the autonomy and responsibility you are able to command. I’ve been in positions where Explorer/Challenger are a perfect fit and after shifting projects filling a space that relates more closely to Introvert/Reactive. Same goes with relationships. Dating a dominating women as compared to a more reserved one is going to completely change how you handle things.

The main aspect I focus on is that I can’t always define myself in a green or red box, but rather a lot of internal and external factors that are in flux constantly. Maybe this would imply that I have a high level of neuroticism, but even that has taken years of pushing the envelope in corporate america to develop. Your summation and thoroughness of this as it relates to a programming team is well received, nonetheless.

Comment by Steve | March 19, 2008 11:39 pm

[…] or another in our lives. So it then becomes nat­ural to under­stand that hack­ers who have a strong under­stand­ing of the per­son­al­i­ties behind cer­tain pro­grams can more eas­ily find things that make the soft­ware writ­ten by those peo­ple reveal its […]

Pingback by Fighting Hacking 2.0 — TNL.net | January 18, 2011 11:15 pm

This blog have little value without you and your comments, thoughts and discussions. Please, leave your comments. You are welcome to debate and criticize any idea, but, please, don't attack other people. Thanks for your contribution!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Subscribe without commenting

Software Creation Mystery - http://softwarecreation.org
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .