They're not really arrogant, they just come off as such. Programmers usually are pretty clever cookies and as a rule are more often right than wrong, even if the subject is not programming, that alone is enough to mark them as arrogant. We also tend to be an opinionated bunch.
Some of them compound the problem by no longer considering other people to be occasionally right and them being wrong and do cross the line in to arrogance.
It's fine as long as people agree on things but as soon as one party starts to ignore the other when they disagree then you have trouble.
For an encore, check 'mathematicians are arrogant', 'physicists are arrogant', 'surgeons are arrogant' and so on.
Anybody that has a job that requires a ton of study and a lot of brain work will tend towards this, it's human, nothing specific about programmers.
That doesn't help you when you're faced with a nice sample of a prima-donna arrogant programmer though, they do happen, just no more than in other 'brainy' professions.
as a rule are more often right than wrong, even if the subject is not programming
I would say this statement is the very height of arrogance. But this is easy to test: simply don't engage the services of any specialists for bit. Do your own plumbing, fix your own car or central heating, represent yourself in court (and tell the judge you know more than him about the law). Then see how you feel in a year.
> Do your own plumbing, fix your own car or central heating, represent yourself in court (and tell the judge you know more than him about the law). Then see how you feel in a year.
I just rebuilt a house (which obviously includes a great deal of plumbing, including a central heating system) and have swapped out the gearbox in a front-wheel drive japanese car.
If you want I can post the pictures as proof.
I am not likely to be able to get in to situation where I will have to represent myself in court.
Anything else ?
But I do know the limits of my knowledge, am quite ready to admit I'm wrong about something and do my best to learn from people with more knowledge than me about anything at all. Including lawyers (my mom happens to be one).
edit: and as an aside, if I had to be represented in court I'd be more than happy to hire a lawyer because representing yourself in court as a rule is stupid, even if you are a lawyer, let alone if you are not.
Why shouldn't it be the norm though, this reminds me of my favorite Robert Heinlein quote: "A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly".
Real world skills are important, even for mathematicians, physicists and computer programmers.
And having some real world skills only gives you more respect, not less for the people that practice those things every day.
Nothing will teach you respect for a farmer more than trying to grow your own food, and the same goes for any other variation on that theme.
Specialization is more efficient. If we all grew our own food, made our own clothes and built our own houses thee would be no time left over to train surgeons or invent computers.
Smart people are a minority and on average find themselves in a conversation with less smart people. Therefore, smart people tend to be right more often than less smart people, partly because they know more, but also because they are more aware of what they don't know and are less prone to saying wrong things. Instead, they will keep their mouth shut, hedge their words or learn about the subject first.
Jacquesm's statement in no way suggests a smart person should do his own plumbing. In fact, because a person is smart, he will be more likely to hire a professional. Or, if he does try it himself, he will succeed more often, because he gets the appropriate information and training beforehand. These arguments are actually somewhat circular, because this behavior partly defines what we perceive as 'smart people': people that succeed at what they attempt.
Smart people that know they are smart will inevitably come across as arrogant, because when they think they are right, they know chances are high they actually are right and they will not easily let an opinion drop. They know when they don't know stuff and they won't often end up having to admit they were wrong, because they weren't claiming to be right in the first place. The 'other side' doesn't see this: they only see someone that is pretty sure he is right most of the time and that hardly ever admits he was wrong.
What does this have to do with programmers? Programmers are generally perceived to be smart people and as a result programmers tend to consider themselves to be pretty smart. Unfortunately, this also holds for programmers that actually aren't all that smart and should be more modest with regards to their opinion about matters. The aggregate result of all this is that a relatively large group of programmers think too highly of themselves and that confirmation bias has led some to conclude that 'many programmers are arrogant'.
BTW, this is an explanation. I lack any solid data to back it up. It's an explanatory narrative and it may be wrong. However, if enough people think it sounds right, it's probably right. Another reason why people sometimes seem arrogant, is that they may strongly defend some position, while it never becomes clear during the discussion that they are well aware they may be wrong. If you defend a position very well, it just means that I am wrong, if I am claiming you are wrong. However, that doesn't mean that you are right. We can both be wrong, but, more importantly, we are probably both partially right.
> Smart people are a minority and on average find themselves in a conversation with less smart people.
Only assuming that all people are equally likely to interact with one another. Which I doubt is strictly true, given that those cases in which I've actually interacted with everyone from an age group (e.g. military service) are strikingly different to the daily interactions I have. I would imagine people in places where opinions actually matter (such as the workplace) mostly interact with people of somewhat similar background and smarts, though obviously with different fields of specialization.
But even within groups of more-or-less equally smart people, the choice of topics to be assertive about and the style of argument are still factors that make people seem arrogant, so I do agree with you. But I would attribute it more to choice of topic and style of argument rather than "smartness". As you said, the definition of "smart" is problematic and potentially circular.
Arrogance is about the way they deliver the feedback.
For some, diplomacy is hard since they can't understand why others fail to meet their technical/knowledge/... expectations.
At work, I'm surrounded by smart people. They often outsmart me but a common trap they fall into is not doing enough meta thinking. They seem stuck on level 1 of things.
You are describing it as a mere packaging problem but I think it goes deeper than that. I think arrogance is exemplified by being closed-minded, refusing to even consider the other persons point of view.
And once you do that you will almost always moderate your statements, whereas those that think they are structurally in the right do not feel the need to do so, they will treat the rest of the world as though they're slightly stupid children and their tone will reflect that.
Yes, agreed. While I have known some very smart people who were arrogant, I think, contrary to what a lot of people are saying here, that intelligence and arrogance are actually orthogonal. There are plenty of people in the world who are not so smart and are still arrogant. Arrogance is an emotional problem, not a natural function of intelligence.
While your definition of arrogance is not bad at all, I will offer a variation: refusing to consider the possibility that one might be wrong.
I used to be one of those smart, arrogant people myself (arguably smart, anyway; certainly arrogant). I have found the conscious practice of humility to be very valuable.
I had Thanksgiving dinner with a brain surgeon once. I said "Wow, your work must be really challenging." He laughed and said, "Yeah, people think that." He went on to tell me that although he was one of the rising stars in his specialty, the truth was his work was mind-numbingly repetitive, he was bored and wanted to find something else to do in life. The surgeries he did required a great deal of precision but zero creativity. He was envious of people who write software.
Your comment is indicative in one interesting way. The challenge of programming is incongruent with its social status. This explains a lot of dysfunction in the software world (e.g. programmers having to choose between going into management or staying low-pay/low-status), but that's another story.
The point I was trying to make was not about my literacy, but rather that I instantly recognised the character as a programmer, even though he was meant to be a physicist.
But it could have been an engineer just the same, or a person with advanced electronics experience (Hams are renowned for this sort of thing) and a myriad of other professions and activities where problem solving is the norm rather than the exception.
It's the method that matters, not the actual problem at hand.
I know a few people who really are world-class brilliant, pioneers in their fields. All of them are humble in their demeanor, they are friendly and approachable and always have time to help.
Arrogance is a sign of having led people to believe you're better than you are...
Brilliance in one domain does not equal brilliance in all domains. Often the pride of a programmer regarding his or her work gets carried over into communication with people in other domains, who may be just as brilliant in their own sphere.
> who may be just as brilliant in their own sphere.
Or they may not be. And woo to you if you come in as an outsider of that domain and you start talking sense.
That's one surefire way of being branded 'arrogant'. I had a gf that worked in genetics and I spotted an error in a draft of a paper and she got really mad with me for thinking that I could make a contribution to her work that she had studied hard for.
Turned out I was right though, and that really pissed her off, in spite of the very diplomatic delivery.
Some of them compound the problem by no longer considering other people to be occasionally right and them being wrong and do cross the line in to arrogance.
It's fine as long as people agree on things but as soon as one party starts to ignore the other when they disagree then you have trouble.
For an encore, check 'mathematicians are arrogant', 'physicists are arrogant', 'surgeons are arrogant' and so on.
Anybody that has a job that requires a ton of study and a lot of brain work will tend towards this, it's human, nothing specific about programmers.
That doesn't help you when you're faced with a nice sample of a prima-donna arrogant programmer though, they do happen, just no more than in other 'brainy' professions.