Personality Perils in Software Engineering – Part I

We software people have a multitude of positive personality traits. These include tremendous analytical skills, natural motivation (when we’re working in the proper role), and creativity, to rattle off just a few. However, in this blog post I’m going to discuss some of the pitfalls of our software personality type and how we can adapt accordingly. Of course I do understand that we’re all unique individuals and egregiously applying traits across a large population can be dicey. With that disclaimer behind me, let’s take a brief look at some of our more perilous personality traits.

For starters, many of us tend to communicate in extremes. We either avoid others we need to be working with or we dive too deep far too quickly into all the extraneous technical minutia. My suggestion for software professionals is to adopt what I refer to as the 3 & 1 Model.

Here’s how this model works: start by summarizing the problem or issue with others first. Then provide 3 options for addressing the issue at hand; recommend the one you believe is best; and then justify your selection. It’s the justification process that is key, at from a psychological standpoint. This helps you work through all the particulars in your mind and then you’ll truly whether you’re on target or not.

Another area where we tend to struggle is our approach to conflict. This seems to be yet another domain where we operate in extremes. We may either blow up at our adversary or avoid the situation altogether. The term adversary may be the key to resolving this matter. Many software professionals view their co-workers as adversaries rather than teammates. The key here is to build Social Capital within the company. However, this must be done on a regular basis by spending time BEFORE any crisis. This is where our introverted ways may sometimes let us down. While introversion allows us to get in the “zone” and become great problem solvers, our social skills may suffer as a result. Finding a reasonable balance here may pay dividends down the road.

Software people often ask me –How do I build social capital? This is not easily answered as you might imagine. For starters though, I encourage people to spend more time with those people they struggle with, rather than less. Our natural tendency, as analytical people, is to avoid those that cause us trouble. This is typically the worst thing that can be done. Spending time when there is no issue or problem to be resolved can yield big payoffs. We need to build these relationships throughout the organization. More specifically, I suggest making a habit of using Active Constructive (AC) responding styles to build

Constructive responses are essentially positive in nature. Any sort of encouraging remark basically. Active refers to engaging comments that show you understand the context of the conversation and care about the other person. So rather than replying with a “That’s great”, an AC response would be something like – “That’s great. That must have made you feel good. How did you pull that off? What did the project manager have to say?”

There’s more on personality in software engineering coming in Part II…