Laziness and infinite productivity

Barry Hennessy

I was only a few months out of college when I got my first taste of what I’ve come to call ‘infinite productivity’.

I found myself in a meeting room with our most senior engineering lead, Mike, and Paul from what I then naïvely thought of as ‘the business side’.

Like any young engineer eager to prove themselves I was absolutely terrified I’d say the wrong thing and kept my mouth firmly shut.

Paul:
Listen, I’ll get straight to it, we need to re-do our email system. This thing we’ve got right now, it’s just not working for us.
Mike:
“Re-do?” That sounds a bit drastic.
But let’s hear it. What’s the problem?
Paul:
I’ll show you. Here, look at this email we’re sending our customers.

We turn to the screen. An email is brought up, it’s followed by slides. The problem grows into a project. Roadmaps are discussed. Stress creeps in.

My mouth stays shut.

And just when it looks like we have to throw out our plans for the next few months I take another look at that email…

Me:
Wait a minute. This is the email that’s causing the trouble, right?
Paul:
Yeah. It’s confusing the hell out of our customers.
Me:
Yeah, it’s confusing for sure. But, uh, if I understand the problem, can’t we just reword it?
Paul:
Reword it?
Mike:
Reword it?
I slide the keyboard over.
Me:
Yeah. Like, uh, this.
Before I lose my nerve I copy, paste and reword two sentences.
Paul:
Oh.
Well, I - guess that would work.

2 kinds of avoiding work

One kind of avoiding work will get you in trouble. The other is a goldmine of productivity.

It’s very simple: if you can not do work and still gain the same value as you would doing it, then don’t do the work.

All that precious time you were going to spend? You just got it all back.

Congratulations, you’re a winner!

This is not an isolated event

As I’ve gained experience I’ve begun to see more and more of these opportunities. They’re never quite the same, but learning to recognise their patterns has been invaluable.

#2

My team had inherited a huge, mission critical system (if only I could tell you the $$$ that flowed through it). The job was to rearchitect it; to keep it from falling apart and let us build safely on it.

It was tough, but doable. I had a plan coming together.

That is, until I noticed a section I’d never heard of before. A big section. One that nobody else had heard of. One without a word of documentation.

Reverse engineering a running system you can’t afford to break. Fun.

Imagine my joy when, one productive conversation later, it turned out that the only reason for this damn thing was because we were locked into an atrocious contract that expired in just over a month.

Everyone wanted it gone. And gone it went.

#3

A startup wanted a system to handle ‘voting’ on ‘things’. We needed to move quickly. No time to nail down what ‘voting’ and ‘things’ mean. Make it infinitely flexible™ and figure it out later.

In laymans terms, I was being asked to build Google Forms from scratch.

The obvious1 thing to do was to dig into NoSql stores and the rabbit hole of what a ‘thing’ server could/should look. So, of course, I turned 180° and started asking around about the use cases.

It became abundantly clear that there was only one for the far forseeable future. Infinite flexibility instantly turned into one, very specific, thing.

Huge turned into miniscule. Miniscule turned into done.

Be bold, ask questions

Don’t be afraid to question what you’re being asked to do. If you can honestly come up with a solution that avoids you wasting your time or that of others you’re doing very well.

Just be considerate when you ask your questions, make sure that your solution achieves the same value and be aware that you never2 have the whole picture.

Talk to your PM/lead/business contact and be prepared that some unknown use case or requirement might make the work valuable again.


I hope you’ve enjoyed my stories of ‘infinite productivity’. If you want to ask any more or have stories of your own I’d love to chat. Just drop me a mail at blog@barryhennessy.com.


  1. The engineering form of ‘obvious’ can be translated as: opaque, complex, uncertain etc. 

  2. I almost wrote ‘might not’ here, but you never do. You can, and should try, get close, but you’ll never get 100% there