There's a lot of ways programmers can be arrogant:<p>* Black-and-white feedback. Software is very black and white. Your dietitian can tell you to "reduce your sugar intake" instead of telling you you're fat because you drink so much cola. There's no way to sugar coat "you pressed the <i>wrong</i> button, and now you have to start over", unless you want to point out that the programmer who make the stupid program must have been an idiot. Either way, you look arrogant.<p>* We read a lot. Hackers usually know about the Milgram experiment, how Easter Island's economy collapsed when they cut down all the trees (peak wood), and why wikipedia may or may not be accurate. People who know it all come across as arrogant.<p>* We speak another language. No, not C. Programmers often speak a dialect that's a bit like English, but evolved into something a little different over IRC and BBs. That language isn't always rude, but it's different, and different can often come across as rude.<p>* We need to be intellectually assertive. We will find out why the core got dumped, and fix it. It's our brains against the compiler. If we don't win, our programs won't work.<p>* Arrogant programmers are still employable. There are plenty of arrogant HR officers, secretaries, school teachers, and shop assistants; but none of them act that way on the job. Sales guys are said to be unbelievably arrogant, but you can bet they will be very polite to potential customers.<p>* Heck, if we get too passive aggressive when we tell the PHB he's wrong, it can end in disaster. "Getting the team onto a version control system is universally agreed to be an essential best practice. It aids communication, reduces bugs, and keeps the source code safe" just isn't strong enough. He's already heard a similar pitch from a guy selling UML code generators, and look how <i>that</i> turned out. A bit more drama might be needed: "We aren't using a VCS. ANYBODY knows that this is as stupid as [your analogy] to control STDs."