How Great Developers Rebel

Having now had the pleasure of working with several people who I count as great developers I believe I have spotted a trend. This trend is what helps them become great.

The trend: great developers rebel

They rebel in a very specific and secretive way. When a great developer is given a task to do that they can finish with time to spare then they will take longer on the task.

I believe this is true of a lot of people. However, great developers use this extra time in an interesting way.

Great developer’s take time to learn

They will spend the extra time learning new things instead of finding other diversions.

This is their rebellion. Great developers steal time allocated for work and use it for learning.

Encourage the learning

Only by rebelling like this can they keep themselves on the cutting edge and constantly feeding in new ideas. Only by doing this can they really add the extra value that makes them great.

Not all great developers like doing research in their spare time. Nor should they have to. If it adds value to the business then it should be done in office hours.

Call to action

Managers: please, acknowledge that this happens and give your developers some time to actively and openly learn (and discuss with their peers).

Developers: if you do this (even if it’s just whilst you are “compiling”) then please leave a comment with your thoughts :)

Hypothesis: Removing manpower from a late software project makes it earlier

Many of you will have heard of Brook’s law – “Adding manpower to a late software project makes it later”. I’d like to explore the opposite action: removing manpower from a late software project.

80% of the work done by 20% of the people

From my personal experiences I have seen many projects where most of the work is done by a minority of people (the experts on the team). With the rest of the team either being inexperienced (and we accept that they have to get experience before they can become the minority), managing the team, or, in the worst case, dead wood.

I have also heard this observation made my many other people.

Hypothesis: Removing manpower from a late software project makes it earlier

Remove the dead wood

Most companies suffer from dead wood, we all know who they are but for some reason they still float around. Get them off your late running projects.

Ideally, stop them being dead wood when you move them to a different project.

Remove the Inexperienced

This reduces the time taken by the experts to correct mistakes, educate and train the inexperienced.

On a late project this makes sense. In a normal project – this is shooting yourself in the foot. You need to keep training your inexperienced folks if you hope to have more experts in the future.

Remove the management

If you’ve just removed people from your project then you can probably remove a manager or two. This reduces the communication and hierarchy overhead.

Overall Gains

By removing all these people you will have just sped up your experts by reducing their communication overheads and the time they are having to spend looking after other people. You’ve also given them more time by reducing the number of managers they have to explain things to.

You’ve probably not lost much either – as these other people weren’t directly contributing anyway.

Thoughts?

I’ve not had the opportunity to see this done before and it is pure speculation. But, I’d be interested to hear from anyone who has had experience of this.