Archive for May, 2004

Posted on 21 May 2004 under General

In the May/June 2004 issue of IEEE Software there is an article identifying the correlation between a nerd thinking they are competent and actually being incompetent.  The problem is that they know so little about what they are doing that they don’t realise how bad they are. 

This is a syndrome that everyone who manages nerds confronts to varying degrees.  I’ve had to manage people who would be hard pressed to turn on a computer let alone actually create useful software.  The funny thing is that these same people actually do often believe that they are god’s gift!  Apart from one notable exception, I haven’t been responsible for hiring these disasters.  Phewww.

The biggest problem with identifying these people is that with software the person who knows the most about their work is them.  So, if you have people working alone with no real review from others then it won’t be until a disaster happens that you will begin to suspect.

How can you tell if your team is suffering from this syndrome?  Well the first thing to do is to get multiple people to review at least some of the code.  Pair programming is a good way to do this or a more traditional review/walkthrough of portions is fine.  If during the reviews there are lots of issues coming from someone's code - then look into their competence.  What else?  If the rest of the team avoid someone or make jokes at their expense then this is a key warning sign.  Or it could be that washing isn’t as frequent as it should be. Another good sign is if someone else in the team tell you that Mr SuperNerd isn’t so super and is actually a disaster.

A good practice that avoids these situations arising is to institute an induction program for everyone (no matter how senior they will become) that restricts the amount of free reign they have over a project until they pass a time or progress milestone.  Everything they do should be reviewed by a trusted senior nerd during the early stages of the induction.  The number of reviews and their breadth can reduce over the life of the induction.  At the end of the induction a progress check should be done with the new hire, the trusted senior nerd and the relevant project manager.  Any skill/competency gaps can be discussed and a plan for fixing the gaps created.  If your company doesn’t have this as a policy and won’t make it one then do it “under the radar” on your projects.  It will save a project one day. 

A scenario that I have seen a few times that exacerbates this syndrome is that the people who suffer from the overly high self-belief naturally push themselves as senior staff and will, if hiring practices aren’t spot-on, get hired for a senior role.  If your organisation is growing (or does dumb things occasionally) then it may place the new-senior-hire in a team with other new hires or existing junior staff.  This is a recipe for disaster.  The rest of team will consider new-senior-hire to be clearly competent (otherwise he/she wouldn’t be senior) and will take longer than normal (ie months!) before they build up the courage to talk to a project manager or similar about their concerns.

In summary, be careful and don’t believe new-senior-hire is good just because they say they are.

Posted on 20 May 2004 under General

Sorry to inject some Australian politics but this post will save me a bit of typing:

This 30th anniversary stuff is a joke, an embarrassment and a shame to the history of this nation.

John Howard has diminished not only Australia's reputation as a regular, decent, world citizen, he has also dramatically reduced the range within which we as a nation can imagine ourselves.

Howard is the PM who has succeeded more than any other PM in making us all citizens living within a smaller, narrower, more limited nation. 

Posted on 20 May 2004 under General

Tell them what you’d like. Really. If you’d like the application to perform well and you don’t care as much about maintenance then say so.  If you know the application will be used for 30-40 years then tell them that you think maintainability is more important than everything else.

I’ve found that amongst most groups of nerds there is a surprisingly large number of ways in which the various attributes of code (and architectures, UI’s, etc) are traded-off against each other.  Some people will think that everything must be speed optimised. Others will spend forever ensuring that variable declarations are lined up in source files.  While others will obsess about W3C standards compliance and usability.

Read more »

« Previous entries | Next entries »