Last week I had to tell one of our coders to be more lazy and to work less. This probably sounds like a crazy thing for a boss to be saying.
Here’s a good quote from Bill Gates
“I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.”
A while back I sat in a talk at Valve about their employment process. Someone in the audience put their hand up and asked whether they hired junior programmers. The speaker said they didn’t. The audience member asked why not? Who does the shit, boring programming tasks? The speaker said this attitude was backwards, there were no shit or boring programming tasks. If you give that task to a good programmer he will code it in a way that means no-one has to ever deal with that problem again. A junior programmer will solve the problem over and over again. Adding more and more code to maintain, more and more things that could go wrong.
So by telling our programmer to calm down, to be more lazy – I wasn’t reducing productivity, I was increasing it. The less code the less chance that you’re fixing a problem that doesn’t exist. The less chance you’re optimizing stuff that doesn’t need optimizing. The less code, the less possible bugs, the less time it takes to maintain it. The happier everyone is.