I am one of probably a relatively rare breed. I started my career as a software engineer, then moved over to the “dark-side” for a few years but more recently have come full-circle back to running a development organization. I’ve been a CEO, GM, CMO, CTO, VP Corp Dev and VP Bus Dev.
Honestly, I’ve never felt 100% at home on either “side” and I’ve come to accept that this part of the value that I can provide. I am a hybrid that can “translate” between engineers and sales people. Sometimes this causes me an enormous amount of “cognitive dissonance” but mostly it proves useful.
Now and again people come to me asking me to help resolve disputes or to explain why engineers don’t respect sales people or sales people don’t respect engineers. Often, the person in question is hopping mad and simply cannot understand the other side’s behavior. This is a quintessential problem for any technology company and I’ve seen it in every company I’ve been involved in. It’s the basis of many a Dilbert strip.
The first step to resolving any dispute is for each side to understand the other. So, this post tries to explain what makes engineers and sales people tick, looking at the differences and similarities.
I have realistic expectations and you should too. I don’t think the “sales versus engineering” dispute will ever be completely resolved in any organization but I do think both sides can cut each other some slack as a result of better understanding.
We are all weirdos
So, at the risk of offending both sides at the outset, the first thing we have to accept is that both sales people and engineers are weirdos.
Sales people are weirdos because their job essentially involves talking to people who don’t want to talk to them, getting rejected again and again and repeating that process day after day. If they weren’t sales people, they’d probably be diagnosed as having a personality disorder. Most “normal” people would quickly become discouraged and demotivated and, once that happens, you can’t sell anymore.
Software engineers are weirdos because they have to talk to computers all day and get them to do what they want them to do. Computers aren’t like people. Computers have no common sense. Computers have no manners. Computers are unforgiving, humorless and pedantic to the extreme. Computers don’t get ambiguity and shades of grey. It’s either precisely right or it’s wrong and it won’t work.
This is partly selection bias – i.e. being a software engineer or sales person attracts a certain kind of person with certain characteristics to start with – but it’s also partly what the job does to you. When I’ve spent long periods writing software, I’ve found myself becoming more like the stereotype of a software engineer – more introverted, more cynical, more negative. If you talk to computers all day, and people much less, you start to think and communicate in a certain way. Likewise, when I’ve been on the front lines talking to customers and trying to close deals, I’ve become more like the sales stereotype – more outgoing, more predisposed to bend the truth.
As a disclaimer, a lot of what I have to say here involves stereotyping. Stereotypes are useful but there are always exceptions to them. There are extrovert, positive engineers that I’ve met. Honestly, I’ve never met a negative, introverted and cynical sales person but there’s always a first time…
When it comes to motivations, let’s start by seeking some common ground:
I believe that both sales people and engineers are, like almost anyone, motivated by the respect of their peers. They want to be respected by people they respect.
However, beyond that, engineers and sales people have fundamentally different motivations and different cultures. That’s where a big part of the conflict originates.
Engineers are generally motivated by learning new things, understanding abstract ideas and doing smart things. In the eyes of their peers, they want to be regarded as being clever.
An important thing to realize here (and one of the perennial problems with managing development teams) is that being clever has nothing directly to do with getting things done. Software is never “done” and there are many extraordinarily clever software engineers who are very bad at delivery and will happily tinker with any software indefinitely, if left to their own devices.
In terms of an engineer’s motivations, the means are often more interesting, and therefore more important, than the ends.
In contrast, sales people are generally motivated by building relationships, achieving objectives and winning. In the eyes of their peers, they want to be regarded as being successful.
For a sales person, the means only exist to serve the end – getting the deal done. This leads to the perennial problem of sales people over-promising to get a deal done.
Engineers are generally introverts, sales people are generally extroverts.
The distinction between extrovert and introvert is commonly misunderstood and oversimplified as being simply whether you are socially outgoing or reserved. That is true to some extent but misses more fundamental differences between the way the two types think and interact with others.
Extroverts think out-loud. They find interaction with other people energizing. They solve problems and get things done by externalizing them – talking about them with others. To an extrovert, having a meeting to talk about something is getting the job done.
Introverts think internally. They find interaction with other people draining. They like to get their thoughts straight before they externalize them. They solve problems by working on their own until they have a solution they’re happy with. To an introvert, having a meeting to talk about something gets in the way of getting the job done.
Beyond the simple introvert versus extrovert distinction, there are other common distinctions. For example, if you’re into Myers-Briggs personality types, the stereotype engineer is an INTP (Introverted, iNtuitive, Thinker, Perceiver). A fuller discussion of this topic is an attractive rat-hole but I will resist the temptation.
A typical day
A sales person’s typical day is very different to an engineer’s.
The sales person’s day is generally driven by a series of scheduled calls and meetings, each with a determined start and end time and, hopefully, clear objectives. A sales person’s typical day is largely focused on a lot of communication with other human beings. Outside of scheduled meetings, it is also commonly “interrupt driven” – e.g. a potential customer calls and you pick up the phone and talk to them.
The engineer’s day is generally driven by long periods (sometimes extremely long) of concentrated, heads-down thinking around solving a particular problem.
You can only be effective in this mode if you can be truly focused and able to get into a state of flow (also referred to as “being in the zone”). On any given day, it takes time to establish focus and it is very easily broken. Unfortunately, once its broken you can write off the rest of the hour, and sometimes the day. Different people have differing abilities to get themselves into the zone quickly and at will but it’s definitely a big issue – it’s not just a question of time lost but you’re also much more likely to introduce defects into software if your train of thought is interrupted.
I’ve referenced in previous posts Paul Graham’s excellent Maker’s Schedule, Manager’s Schedule which discusses this topic in more detail.
We’ve all seen this
This is where another very common source of conflict comes in. You’ve probably witnessed something like this firsthand yourself: the sales person gets a call from a potential customer that is close to signing a deal. The customer has one remaining technical question that the sales person cannot answer directly. Being an extrovert and being motivated to please the customer and get the deal closed, the sales person doesn’t send an email but rather calls or walks over to the engineer with the customer on the phone still to ask the question…
The engineer emerges from what seems like a dream like state and stares blankly at the sales person. The engineer is pissy and, if the sales person is lucky, answers the question, albeit in an extremely terse way.
The sales person doesn’t understand why the engineer is being so difficult and unpleasant, especially given that this is a question from a customer that is about to sign a big deal. On the other hand, the engineer is annoyed because the sales person has just interrupted their flow and they know they’ll find it hard to get back into what they were working on.
Furthermore, the engineer doesn’t understand why the sales person couldn’t answer the problem for himself. After all, the engineer’s motivation is to understand things and seem clever so they don’t get why the sales person wasn’t as interested as they would have been to work out the answer themselves on their own, rather than appearing dumb by having to ask someone else.
In contrast, the sales person doesn’t understand why the engineer doesn’t care about winning the deal.
However, once you understand the difference in motivations and cultures, it makes sense.
Along with the differences in personality type and motivation, come some big differences in culture.
If high school is a microcosm of “real life”, think of it this way: sales people are the jocks and the engineers are the nerds that got pushed into their lockers in the hall every day by the jocks.
Digging a bit deeper, let’s look at what it takes for a sales person to be successful:
Sales is about building and finessing a story that sells. Contrary to what the other side may think, it’s not generally about telling out-and-out lies but it is about managing perception and, for the sales person, perception is reality.
That story and that perception is fragile and needs to be carefully massaged and continuously buoyed-up.
Likewise, because the sales person faces continual rejection, day after day, the sales people themselves need careful and continual massage. This makes sales people generally very sensitive to people who come along and burst their bubble by asking hard questions or being negative.
Unfortunately, this is exactly what engineers tend to do. Engineers are extremely suspicious, and often downright hostile, to the “story” that sales people are selling – they see it as artifice, fakery, puffery.
Is this simply because engineers are cynical, negative people? Sort of – but, the problem is confusing cause with effect. Engineers are cynical and negative because it’s essential to doing their job well. Remember that, when you’re dealing with a computer, there is no perception, there are no shades of grey – it’s either exactly right or it’s wrong.
Therefore, engineering culture is deliberately extremely suspicious of, and aggressively hunts down and eliminates, artifice and “perception management” because it hides the truth and the right answer. It is kryptonite to the engineering process.
People who try to manage perception don’t survive very long as engineers because they have to tell computers what to do and computers aren’t having any of it. In contrast, managing perception is what sales people do for a living.
This all results in two very different cultures. Sales culture requires being buoyed up on a cushion of positivity, whereas engineering culture requires negativity and challenging everything.
A side effect of the engineering culture is to spend many hours engaging in what are referred to as “religious arguments” – Python versus Ruby, Mac versus PC, etc, etc, etc.
Because engineers and engineering culture is wired to seek and find the one correct answer, engineers have trouble dealing with the concept of differences in opinion and equally valid choices.
Opinion simply doesn’t compute.
Agree, disagree? Please leave a comment.