Personality building

The Nature of Software Engineer Personality

The age old question of nature vs nurture influences the careers we have and the jobs we get. After being involved in software engineering most of my career, a question that comes to mind is: “can anyone do my job?” Can anyone, provided the right inputs, achieve the same output such as being a developer, systems administrator, or managing people and projects?

My conclusions have evolved over time. Read on to hear my ruminations about how our personality influences our work!

Feature image / license

The Software Engineer Personality

When you think of software engineer personality, what sort of adjectives come to mind? Perhaps some of the following:

  • Detail-oriented
  • Methodical
  • Creative
  • Resourceful
  • Practical
  • Problem-solving acumen
  • Curious
  • Investigative
  • Logical

It is a technical job that requires a technical mindset to be successful. Problem solving, which is something you’ll be doing a lot of in this field, is critical for success. You have to embrace and like it otherwise you will groan every day until you end up switching careers – whether voluntarily or involuntarily.

Additionally, there are instances of creativity that when coupled with the mathematical / logical elements make it somewhat of an engineering craft. This is most pronounced when the problem you are trying to solve isn’t a simple Google search and perusal of the top 10 results away.

Microsoft conducted a study of their employees to attempt and discern the personality of their software engineers. It’s a short white paper and not conclusive of much. Like most it points to existing personality tests as either being ineffective or results unclear. Take it for what it is worth. From here I’ll use my personal experience to relate my position.

MBTI

Years ago (time flies!) I wrote a post about being an introvert at work. In it I discuss personality types with a focus on introversion. Although the MBTI has been deprecated somewhat, I still think it has use and predictive power in determining if someone will be good at a job or not.

I’ve taken the test many times of a span of years and return the same result – a hardcore ISTJ. The strongest parts of this for me are Introversion and Judging.

One of the mottos for being an ISTJ is “take your time and do it right”

DISC

One time for management training I took another personality test called DiSC. The DiSC assessment tries to identify and categorize your self-reported personality and use it to discern how to understand and improve yourself on the job. It, like the MBTI and many others, is designed to predict job performance.

The order of components is important here because there is blending which form more specific aspects of your unique personality. For me it was a strong “C” for conscientiousness that leaned toward “D” dominance.

People with D personalities tend to be confident and place an emphasis on accomplishing bottom-line results.

People with i personalities tend to be more open and place an emphasis on relationships and influencing or persuading others.

People with S personalities tend to be dependable and place the emphasis on cooperation and sincerity.

People with C personalities tend to place the emphasis on quality, accuracy, expertise, and competency.

https://www.discprofile.com/what-is-disc/

To no surprise, many managers, leaders, and entrepreneurs are a blend of D and I while more back office people are S and C. My personality explains why I love setting order to chaos and can manage people and things with some assertion all the while maintaining high quality work.

Software Engineer Personality Interviews and the Job

Before we proceed, I want to clarify that by asking “can anyone do my job” I don’t mean literally anyone. For simplicity, the focus can be those who might interview for the job you have or want. I’m not suggesting that we can take anyone off the street or pick at random who will be a Database Administrator or Data Scientist. The context is the group that will be competing for these positions.

Years ago I had a job interview that stuck with me. I interviewed well but ultimately didn’t receive an offer. Near the end, after I was done being quizzed about technical topics and hiring staff, there was a candid moment when the interviewer (who was the hiring manager) told me something. I cannot remember the quote but I’ll paraphrase so you get the gist of it.

Not everybody can do this job. Even if you teach them well. Even if you give them the answers. It takes are certain kind of mind and I’ve found that, over years of interviewing, some people simply don’t have what it takes to be successful in this role.

– Anonymous interviewer many years ago

I have wrestled with this thought. At first I was off-put and didn’t agree with the notion that some people will get it and some won’t. I thought that if properly taught, and especially if told the answers and explicitly what to do, that most of my competitors could do the job satisfactory enough to send me packing for the next opportunity.

Fast forward 10-15 years and now I look at it in a different manner. I’ve come to see it as a form of strength and resilience at work rather than an imposter-syndrome-fueled threat to my livliehood. I’ve mentored, coached, and managed developers and I find much truth in this.

It’s not about intelligence. It isn’t about education. Not even about work ethic or hustle. It is more intrinsic to oneself and how you operate. This explains why I can give you the answers to the test and you’ll still mess it up.

Examples: some people simply cannot think recursively. Some cannot understand breaking down big tasks into small ones and solving them. For others design patterns and architecture are mysterious. Still others have little sense of time management thus project planning is a frustrating exercise.

Teach a Software Engineer to Be an Artist?

Old dogs can learn new tricks but it becomes increasingly harder. For example, learning a new language is easier done for a child than a middle-age person.

If you disagree with my conclusions, I want to ask: can you teach me to be an artist? I write left handed chicken-scratch and every person I draw is a stick figure. I could never color in the lines and cannot cut straight. The deep introspective things in some art that others are in awe of do not register to me. This doesn’t mean I cannot look at art in an intellectual way but rather I don’t always see what others see. Is that something you can teach? The answer I have arrived at is no, it is not.

How about development? Can anyone learn to code? There’s a strong push to get everyone into STEM disciplines. Most all will not prove to be very good. Most will not make it through any arduous program of study and others will lack the desire to continue. I look at it like trying to pound square pegs into round holes. In an attempt to make things better for some it ends up making things worse for everyone.

A square peg forced into a round hole. 3D render with HDRI lighting and raytraced textures.

The biggest threat of working in technology is becoming a dinosaur

Another anonymous quote from the past

For those who are in a position for which they are well suited, have achieved some mastery, and have earned some autonomy – don’t become a dinosaur. You must constantly learn to keep even. Remember, staying put is the same thing as going backwards because the world is moving on and you’re stuck.

Summary

So what have we learned about the software engineer personality? Although the brain has great plasticity and can grow as you age, some elements of personality and thought are immutable. Every job isn’t for everyone. Learn about your self, personality, strong points, and weaknesses to forge a career that you love and are good at! It’s great for your self-esteem.

Thanks for reading!


Did you find this helpful? Please subscribe!

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

If you liked this post then you might also like my previous post on Introvert at Work – How to Survive and Be Successful as a Software Engineer.

Do you care about your privacy? Then YOU need to use a VPN.

2 thoughts on “The Nature of Software Engineer Personality

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.