When I first learned to drive as a teenager, I was overwhelmed by how often I’d be stuck in traffic. I eventually gave up on my frustration and settled into the mindset that ‘this is just the way it is,’ but the constant congestion seemed like a simple problem that some engineering and effort could fix.

“If there are too many cars for the number of roads, why can’t they just add roads until the congestion problem goes away? It seems pretty basic to me”.

Some otherwise knowledgeable adult would tell me “You can’t just add more roads. Then more people will drive on it and it’ll get worse.”

Wait a minute. So now I’m being told that increasing the supply of a scarce resource will make things worse? I’d taken economics 101, and I wasn’t buying it. If you have high demand, you increase supply to meet it. Simple as that.

My teenage view of the situation was, as were most of my teenage ideas, woefully simplistic. Traffic aficionados will tell you the problem is ‘induced demand.’ The demand side of the equation is not static. Humans change their behavior based on their assessment of the situation. If traffic congestion reaches a certain point, they’ll modify their behavior. They’ll start work earlier or later to avoid congestion. They’ll shop closer to home. When more roads are added, they’ll decide they no longer need this modification. And congestion creeps back to its normal levels.

Now, let’s look at this concept in the context of knowledge work. If you work in an office and complete all your assigned work in the first three hours of the day, what should you do with the remaining five hours?

There are three initial ways of addressing this problem:

  1. Go home. In theory, the boss should be perfectly happy with this solution. A truly enlightened boss might be, but this likely will not go over well. There are too many built-in social expectations for this to sit well.
  2. Look for more work to do. This might be fine if the work is well organized and ready to go. The aforementioned truly enlightened boss will probably like this and have new projects ready to go. With a less enlightened boss this can backfire. If projects aren’t teed up, it becomes a problem of ‘finding things for you to do.’ Instead of looking like a go-getter, you now are adding problems to your boss’s plate to solve. And you’re doing more work to boot.
  3. Slow down your work until it takes up the required 8 hours. This serves two purposes: avoiding new tasks and not looking lazy when leaving early. This is the most common solution.

The unfortunate state of most knowledge work is that option #3 is often the ‘least bad’ solution. By making it difficult to start new work and making working efficiently look lazy, they implicitly endorse working slowly and looking busy. This is doubly unfortunate because no effective manager actually wants this, and the good developers don’t like this either. Twiddling their thumbs all day and pretending to look busy is harder and less fun than doing the real work they were hired for. It also causes the same issues we see with induced demand in traffic. If eight hours each day is the expected amount, then we’ll increase the work until we have eight hours.

Throughout my career, I’ve settled on two guiding principles that navigate this problem much more successfully.

  1. Figure out what your boss cares about. Some things are obvious and direct, like writing the code you’re asked to. Beyond that, there are subtle cues to look for. Some bosses are annoyed if you aren’t logged in to Slack at exactly 9AM. Some don’t care. Some love having long meetings and expect you to participate enthusiastically, while some avoid meetings like the plague. Some want you to rearchitect and improve things, while some only want you to do exactly what’s done before but faster. When you are first hired, the most important thing you can do is take the time to figure what your job is about. When I worked in professional services, the main thing was getting the work done in the time the estimate allowed (because that’s all we could charge for) and making sure implementations wouldn’t break later (so we didn’t have to lose time fixing them later). I made reasonable but generous estimates and always tried to make my custom work as resilient as possible. Now that I’m further along in my career I’m expected to make architecture designs that solve some problems that are not immediately obvious. Know what the expectations are.

  2. Decide how hard you’re willing to work in advance. If you don’t decide how much time and mental energy you’re willing to give to your job, it will decide for you. Taking ownership of how much is “enough” is both empowering and strategic. It’s empowering because you can take control of your time. It’s strategic because it allows you to consider time as a resource to deploy in more advantageous ways to you and your employer. For example, if your office runs on monthly cycles and EOM is busier than normal, expect to work much harder during those times. Use that to your advantage during the mid-month lull and take your foot off the gas. If you’ve followed step one and know what the boss cares about, you can deploy time where it matters and take time back when it doesn’t. If you are early in your career without many other responsibilities you might choose to work extremely long hours if you perceive you’ll be rewarded. If you’re later in your career with some seniority, propose new projects that solve the boss’s problems that also line up with your objectives. The important distinction is to be strategic and avoid doing extra work ‘just because.’

If you do both of these things you’ll avoid the tendency to mindlessly add more work to your plate, the boss will be happier, and you’ll have more freedom. Isn’t that how work is supposed to … work?