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.
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.