Thursday, May 31, 2012

Use computers for repeatable tasks, use humans for creative tasks

Pundits often refer to the notion that the most effective developers are 10 or more times as efficient as the least effective. I think this is probably an understatement, but I think the reason is often oversimplified. Many of the "more effective" developers seem like to pat themselves on the back and chalk it up to being smarter or some other nonsense. While arguably this is true, I think it is more that the most effective developers HATE doing the same thing twice.

I think this is an important detail because computers are REALLY good at doing the EXACT same thing millions of times per second. People are not very good at this... in fact it's arguable that it is impossible to do the same thing exactly the same twice in a row.

The truly effective developers are the ones who use computers to do the repeatable tasks and use their unique human curiosity and creativity to find new things for the computers to do. More importantly, the best software development shops realize this and learn how to foster behaviors and environments that reenforce this division. In GREAT software shops, spending 1 hour per week filling out manual reports and copy/pasting info from one spreadsheet to another will NOT happen and will sound like a really stupid idea.

1 comment:

Jacque Harper said...

David Allen, of "Getting Things Done" fame, likes to say that the reason he developed his system is that he is lazy. It's not quite the same thing as the subject of this blog, but it reminds me of it. Not wanting to repeat some task many times identically can be a powerful motivation to create something that just. takes. care. of. it.
So it makes sense to look for a developer that feels that way!