As a generalization, it seems that there is a large class of Computer Guys who have a hard time accepting any other world view or methodology. Linux is the OneTrueWay, XP is the OneTrueWay, ObjectOrientedProgramming is the OneTrueWay, ad nauseum. We've heard it all before. On wiki, usenet, or any other electronic medium, it is easy to ignore their absolute rightness. But what happens when you have to work with someone like this? How do you deal with someone who shoots down every opinion, every suggestion because theirs is better? While a ClueByFour and ParkingLotTherapy would be great fantasy options, they don't fit in reality. [See Note 1.]
As a slight digression, my experience has shown that Highly Intelligent people are often like this. It is as if their intelligence proves to them that they are right a lot of the time, therefore they have the mistaken belief that they are right all of the time, and/or for self-esteem reasons they must prove that they are right all of the time.
What are good methods for dealing with the Terminally Right?
Depends on their role and yours. Most of the time, nothing needs to be done at all, it's just irritating because you know they are wrong and you are right. :-)
If on the other hand, they're in a position of authority, and make bad decisions as a result, then typically there's little you can do about it. It's been in the news recently about how Saddam Hussein treated people who disagreed with him when he was head of Iraq's nuclear program, prior to becoming dictator. (It was highly unwise to disagree, if you missed the news.)
Or if you're the one in authority, then it's relatively easy to handle -- let them express their opinions, and go ahead and do what you think is right.
It's only a small minority of cases where it's awkward, like if you're both peers, and you're fighting for others to make some decision, and for some reason you're the only one who recognizes the problem with the other person -- all of which sounds suspicious, doesn't it? Why would you be the only one to see it so clearly? ;-)
1) Let them screw up
Try and leave them to their own devices. Maybe they really are right. If not, this will become apparent sooner rather than later, and the responsibility will be very obviously theirs. In the meantime, do your own thing. If you are working on a project with them, try and give them a well-defined section they can do on their own.
2) Remember people like this are not, in fact, all that intelligent
Part of any useful intelligence is being able to apply your insights productively as part of a team of people. If you are alienating people by being over-rigid or plain boorish, you aren't actually intelligent in a well-rounded sense. You may be good at some aspects of analysis. That's a narrower skill though, and not nearly so useful. Many people working in technology are crippled by the lack of "social intelligence" required to effectively apply their "analytical intelligence". The personality you are describing sounds below par in terms of value contributed. The best developers I know are actually pretty open-minded.
NOTES: 1. "While a ClueByFour and ParkingLotTherapy would be great fantasy options, they don't fit in reality." Oh, yeah? Don't bet on it, pal. 2. Any coping methods that come up here might be applicable to the ongoing EditWar badness. This note: DeleteWhenCooked.
CategoryBehaviorModification (heh)