Aggressive control freaks make great programmers

After reading Give it five minutes I saw an interesting pattern. Of the folks I know, the good/great programmers are all pretty aggressive. In addition they are also pretty controlling. Moreover, when reading the comments to this blog post, I was struck by the number of folks who could identify with the "hothead".

As a person who historically fit in to that personality type, I wonder why this is. It seems to me that the reason has to do with the way people interact with computers when programming. The very idea of being 'in charge' of the computer and making it do anything you want would seem to appeal to this sort of personality. In addition, the current market and the rate of change handsomely rewards people who aggressively pursue this end. Very successful programmers are the ones who can do this most effectively.

The obvious downside is that this creates a situation where negative behaviour (in human interaction) is actually rewarded. Without conscious effort many programming types forget when they are talking to humans and can be overbearing and aggressive without even realizing that it is happening. After all, if you spend 8-12 hours per day bending a computer to do your will, it imaginably takes time to "turn it off" and re-connect with humans.

More importantly, I think this personality type has a self limiting nature to it. While I know many great programmers who fit in this category, many of these top out at fairly low, though highly technical, roles. This is understandable to me because software is largely written for humans. If the person commanding the computer to do things cannot relate to the people the computers are supposed to serve, the odds are low that the computer will be told to do the correct thing.

So the next stupid idea you hear, think about it for five minutes before you start tearing it apart. Better yet, ask questions for five minutes and maybe try to understand why the other person thinks it's a good idea.

Comments

Ilias Tsagklis said…
Hi Mike,

Nice blog! Is there an email address I can contact you in private?

Popular posts from this blog

Please use ANSI-92 SQL Join Syntax

The difference between Scalability, Performance, Efficiency, and Concurrency explained

the myth of asynchronous JDBC