Have you ever wished you could reduce your working hours, or even just limit yourself to 40 hours a week, but came up against all the work that just needs doing? There’s always more work to do, always more bugs, always some feature that’s important to someone—
How can you limit yourself to 40 hours a week, let alone a shorter workweek, given all this work?
The answer: by planning ahead. And planning ahead the right way.
I was interviewing for a job at a startup, and my first interviewer was the VP of Engineering. He explained that he’d read my blog posts about the importance of work/life balance, and he just wanted to be upfront about the fact they were working 50-60 hours each week. And this wasn’t a short-term emergency: in fact, they were going to be working long hours for months.
I politely noted that I felt good prioritization and planning could often reduce the need for long hours.
The VP explained the problem: they’d planned all their tasks in detail. But then—to their surprise—an important customer asked for more features, and that blew through their schedule, which is why they needed to work long hours.
I kept my mouth shut and went through the interview process. But I didn’t take the job.
Here’s what’s wrong with this approach:
- Important customers asking for more features should not be a surprise. Customers ask for changes, this is how it goes.
- More broadly, the original schedule was apparently created with the presumption that everything would go perfectly. In the real world nothing ever goes perfectly.
- When it became clear that that there was too much work to do, their solution was to work longer hours, even though research suggests that longer hours do not increase output over the long term.
So how do you keep yourself from blowing through your schedule without working long hours?
- Prioritize your work.
- Leave some padding in your schedule for unexpected events.
- Set your deadlines shorter than they need to be.
- If you run out of time, drop the least important work.
Not all work is created equal. By starting with your goals, you can divide tasks into three buckets:
- Critical to your project’s success.
- Really nice to have—but not critical.
- Clearly not necessary.
Start by dropping the third category, and minimizing the second. You’ll have to say “no” sometimes, but if you don’t say “no” you’ll never get anything delivered on time.
You need to assume that things will go wrong and you’ll need extra time to do any given task. And you need to assume other important tasks will also become critical; you don’t know which, but this always happens. So never give your estimate as the actual delivery date: always pad it with extra time for unexpected difficulties and unexpected interruptions.
If you think a task will take a day, promise to deliver it in three days.
Your own internal deadline, the one you don’t communicate to your boss or customer, should be shorter than your estimate. If you think a task will take a day, try to finish it in less time.
- You’ll be forced to prioritize even more.
- With less time to waste on wrong approaches, you’ll be forced to spend more time upfront thinking about the best solution.
Inevitably things will still go wrong and you’ll find yourself running low on time. Now’s the time to drop all the nice-to-haves, and rethink whether everything you thought was critical really is (quite often, it’s not).
Whenever you feel yourself with too much work to do, go back and apply these principles: underpromise, limit your own time, prioritize ruthlessly. With practice you’ll learn how to deliver the results that really matter—without working long hours.
We all make mistakes. You write some software that crashes in production, or accept a job offer with too little pay. You learn your lesson—but by then it's too late.
But what if you could skip straight to the learning?