Related Entries

Quick Start: Git for personal use
SVN client over SSH to remote Unix server from Windows
Quick Start Grinder - Part V
Quick Start Grinder - Part IV
Quick Start Grinder - Part III

« 2004 BMW 5-Series
» Java software picks

Psychology of Programmers

Pretty spot on article about the subject. I bet very few managers get it.

Bryan Dollery - Understanding the Psychology of Programming: “ Contrary to popular belief, programmers more frequently resemble artists than scientists. If you want to maximize the creative potential on your development team, you’ve got to start thinking about the psychology of the programmer and be willing to back it up with management policy.

Amen! Mr. Dollery has very interesting observations.

It has often been said that programmers are introverts. I find that this isn’t true, in the majority of cases, but programmers usually do have a longer attention span and a greater ability to concentrate than the majority of the population, and these two things can cause the appearance of introversion.
My experience is that appearance of introversion is cultivated by the way most good programmers attend meetings. Most good programmers (and good engineers) have no patience for never-ending chat about weather, kids and TV shows.
Writing code is an act of creativity. It isn’t science and it isn’t engineering, although programmers are happy to apply science and engineering to the creative process, when possible.
I disagree with this a little bit. Engineering is an act of creativity. More engineering gets into programming, more maintainable the code becomes. I would like to see programming artistry take a backseat to programming engineering.
So how can you maximize the power of this mystical flow for your development team? The formula is fairly simple: provide adequate insulation for flow to occur, both mentally and in terms of time, and be flexible to the vagaries of individual work preferences.
How true! Few IT managers get it though. Non-technical managers might feel that the engineers keep talking about the stuff they don’t get. This usually results in unnecessary and restrictive "control".

Recently, I was asked how I do I go about on managing people. My answer:

  1. Define the parameters and expectations clearly. Ask people to repeat that back to me!
  2. Negotiate the environmental needs at work. Implement negotiated needs as soon as possible.
  3. Get out of the way. Very important!. And keep other people out of the way. It is simply a confusing experience to be required to answer to multiple people.
  4. Follow up regularly, and only as often as defined in step #1.
  5. Keep open channel to communicate to me. Including random thoughts.

The link to the article was sent to me by the Zope Boy :-)

  1. On the issue of "introversion," Jonathan Rauch writing in the Atlantic Monthly created this great definition: "introverts are people who find other people tiring."

    This is the sense in which most programmers are introverts. They are not necessarily "shy" or "lacking social skills." Rather, for them interaction with others has a large cost (in tiredness) so they want to maximize the corresponding benefit by "getting right to the point."

    Posted by: Tom on April 15, 2003 07:04 PM
  2. Jonathan Rauch's definition is a great one, but I'm not sure people who find others tiring are introverts. Let us call them great-time-savers :-)

    In the practical sense, I agree with this. The perception of programmers being introverts must surely come from the sense of impatience they have for small talk.

    Posted by: Babu on April 16, 2003 05:49 AM
  3. Hi Babu,

    You might want to correct the URL of the article being discussed as

    Right now it seems to point to your own blog.

    Posted by: (\/) on April 19, 2003 08:03 PM
  4. One way to judge the capability of a manager is to see how is accomplishes (4) without breaking (3)

    Posted by: (\/) on April 19, 2003 08:14 PM
  5. #3 - Thanks Srijith. Forgot to add the link :-(

    #4 - One pre-requisite to accomplish that is having a good overview/idea about the task being managed. This understanding is essential for decision-making. Management gurus will tell that subject-knowledge is not required for Project Management, but is simply not true.

    Posted by: Babu on April 20, 2003 07:37 AM
  6. Programmers are strange creatures... I've heard a lot of jokes about them. "the errors in programmes are the result of errors in genetic code". I don't mean to offend anyone.

    Posted by: Flora on June 10, 2004 02:26 AM