Having formerly worked in the big data space, I once met an experienced software guy named Ken who is a well-regarded big data and search expert. Upon trading some design thoughts on a particular topic, I was struck by how approachable he was. His points were always reasonable and well-articulated; there was no hint of the kind of ego that he could justifiably possess. I remember thinking, this is a guy who can write his own ticket, has unbelievable communication skills, and yet he does not seem to have an arrogant bone in his body.
He is one of those people who, in your first conversation, makes you immediately realize that he operates on another level completely.
At one point in casual conversation, he actually remarked on how he thought his domain of big data expertise was far simpler than dealing with complex web stacks. Even though we only worked together briefly, I was impressed with his viewpoints and attitude. He is a great example of what I always aspired to be as a software engineer.
Alas, not everyone is like Ken.
I also worked with a fellow named George (not his real name) who was completely the opposite. He would get loud and abrasive if my opinion didn’t align with his. He felt obliged to ridicule the work of others, even though his own work was sloppy on his best day. He liked to read books at work while facing his monitor, so it looked like he was working. I don’t remember having great things to say about George, and I don’t know anyone else who did either.
This brings me to the point of this post. It involves the notion of humility.
Humility vs Arrogance
As it pertains to the technical craft, humility has nothing to do with technical skills, and everything to do with attitude. Let’s start with a definition. Humility, according to Merriam-Webster:
the quality or state of not thinking you are better than other people.
One antonym of humility (my opinion) is arrogance:
an attitude of superiority manifested in an overbearing manner or in presumptuous claims or assumptions.
Similar to my post on catastrophic thinking, I believe that engineers easily fall prey to arrogant thinking.
My reasoning is simple. Knowledge workers, and engineers in particular, tend to be very smart people. By extension, they tend to strongly associate their sense of personal worth with their knowledge or their technical ability. As such, it is both easy and tempting to come to the conclusion that more knowledge or more skill somehow makes someone “better.”
I believe this strong association between and “self” and “skill” is at the core of intellectual arrogance. It means our ego is involved with our craft. If our craft is questioned, our ego feels threatened. We feel exposed and vulnerable. As a result, we become uncomfortable and defensive. In the worst cases, we become spiteful, jaded, or arrogant, just to protect ourselves.
This topic can be a very slippery slope in the software world, and I have slipped on it just as much as the next person. Since software deals with a high degree of abstraction, it is easy to forget that there are many ways to solve problems, and literally everything has pros and cons. It is exceedingly rare that there is a “right” and “wrong” for anything beyond toy problems. The great code that rolls from our keyboard one day often looks like legacy code the next.
Recently, I have observed, there seems to be a magnification of the perception that code is the only output of our work that has any value. Look at the recent rise of tech schools that claim to produce “ninjas” after a few short weeks. This magnification seems to strengthen the skill-to-self association. If code is all that matters, it would stand to reason that we should be measured by the output of code alone, right? How horrible would that be?
Arrogance and Career
This point does not get much press, but arrogance can cause problems in a person’s professional career. You don’t have to be Agamemnon to appreciate it.
We’ve all met people who seem to have a degree of bitterness about their work, or consider their work to be better than others. When this outlook is packaged with aggressive behavior, I have observed that it usually seems to come from that person’s skill-to-self association. They are insecure; they lack self-confidence; they feel like they do not understand the topic enough defend their position if their ideas are questioned; perhaps their parents beat them without mercy when their Lego projects did not match the picture on the box.
Whatever the contributing factors, I have found in most cases, a person that arrogantly presents themselves or their work doesn’t know as much as they think they do. When digging into the details, I find that the expertise goes only so far, and the remainder is usually some kind of deeper issue with which the person is dealing. This is not meant to be a derogatory observation; we all carry around personal baggage that alters our perceptions.
Paradoxically, those who are true masters of their craft also seem to be aware of their own limits, and are often less inclined to assume they automatically know it all. They actively seek new points of view, and alter their own accordingly. This behavior seems to be a common thread in very successful software engineers. The resulting open-mindedness makes them approachable and easy to work with. It is no accident that their skills are in high demand, for high rates.
This paradox reminds me of an analogy from the field of combat sports. The outwardly-aggressive person who walks around wanting to fight everyone, is usually the person with little to no actual fighting skills. It is the person who quietly refuses to engage, or speaks up for non-violence, that is the true expert. That is the person who is truly powerful.
Dealing with Arrogance
Every once in a while, I encounter a blatant show of arrogance. It does not seem to know boundaries like gender, age, race, or religion, so I tend to think it is more complicated than simply having a fragile ego or a sheltered life experience.
The way I deal with arrogance has changed over time. In my younger days, I would gladly pull into the conflict. I would tear apart the person’s point of view until there was nothing left but hurt feelings or embarrassment. I was not very patient with the behavior, and this, ironically, was an arrogant attitude. Such a harsh approach does not have much value beyond the cheap satisfaction of some selfish fireworks.
Thankfully I am learning the error of my ways. Now I try to understand the person behind the words. Often understanding can point to the source(s) of the perspective, and help me understand how to deal with it in a more gentle and positive manner. The side benefit is that I often learn something new from the experience. In the best of cases, I make a new friend. It doesn’t always work as intended, but it is usually worth trying.
Sometimes I detect arrogance in myself. I can hear it in the sharpness of my own words, or in the stress I inflict on myself or others under certain situations where I am struggling with a particular solution. If I can recognize it, I can step back, try to gain some perspective, or possibly ask a friend or colleague for a counterpoint. It’s much more personally satisfying than the fireworks approach!