Dec 6, 2010

Beware of Programmer Egomaniacs

Professional development today is mostly done in teams. This means that it takes more to be a developer than the ability to write code. Coding is very important, but being able to participate in a team is equally important, if not more so.

A developer with a huge ego gets a lower score in my book, no matter how good a programmer he is. The reason? Egos and teams doesn't mix!

In my experience, displays of ego has nothing to do with skills. It's rather the opposite. It seems developers with huge egos are (at best) average programmers. The Dunning-Kruger effect explains it like this:
The less competent people suffer from illusory superiority, rating their own ability much higher than it actually is. This leads to the situation in which less competent people rate their own ability higher than more competent people. 
This is a generalization of course, but it's quite telling and it agrees with much of my own experience.

Egomaniacs tend to boast and exaggerate their knowledge, because they actually believe themselves to be better then they are. That makes it very hard to judge them, especially considering the tendency most of us have to trust the honesty of others.

Some takes this even further...

They believe they are always right, never admits mistakes, blames others, acts dismissive when confronted and in general lacks empathy. I'm talking about people whose vanity requires constant confirmation and admiration. It may take the form of a need to be in the center and a desire to keep close control over information. Their need for admiration leads them to create personal virtual altars in prominent places for others to admire. The Wikipedia article puts it nicely:
They have a grandiose sense of self-importance (e.g., exaggerates achievements and talents, expects to be recognized as superior without commensurate achievements). 
This behavior is bad, but can be ignored in most cases and may even be quite amusing to observe. The best way to deal with it is humor, just keep a light mood about it.

Disaster strikes if such a person is given a managing position. Power combined with narcissism is a nasty mix often resulting in micro-management and paranoia. Not only are they obsessed with their own ego, but they now also have the actual power to enforce their reality on others. "My way or the highway". Literally. I have seen people getting shot down hard by these persons, and it's both sad and pathetic.

Much can be said about it, so let's just agree it's a very nasty cocktail indeed. The only thing one can do about it is to get out of there as soon as possible.

Finally, let's contrast that with some truly competent developers I've worked with. The common trait is humility. No self-promoting ego and no need to control others. On the contrary, they are humble, patient, eager to explain and to learn. I think these skills are the skills of both great individuals and great programmers. The definition of an agile developer.

No comments:

Post a Comment

What are your comments? I'd love to hear 'em, so don't be shy now :-)  If you want to get in touch with me directly just drop me a mail.