« Scott Nonnenberg

Take breaks (Dev productivity tip #6)

2021 Dec 12

I’ve been told that I’m a very productive developer. And it’s not magic; it’s a set of skills you can build! Welcome to the sixth in my developer productivity tips series: Take breaks.

I’ve spoken before about the importance of getting into the zone. But like all things, you can be in the zone too much. Let’s talk about maintaining a healthy balance in the face of challenging work environments, a natural inclination to go deep, and a surprising new context: quarantine.

The limits of focus

I’ve really gone deep in the past. When I was young, I had “no problem sitting at a computer for hours”, because those “hours would go by and I would barely feel it”. But the truth is that while I didn’t notice in the middle of those long stretches, I did notice it afterwards.

I’d be dehydrated, hungry, sore, and exhausted at the end of a long session. Operating nearly purely in the mind, I had disconnected from my body’s needs for too long.

I’d feel a sense of shame as well, both because of my physical state and because it felt like I had lost time. No, I hadn’t time-traveled, but I did put more time than I wanted into the video game, the web page upgrade, or the tweaking of some Pascal program. If I had done my homework first, maybe it wouldn’t be so bad!

I’ve come a long way since then, but the truth is that I haven’t grown beyond these leanings. That most-prized thing, a long stretch of uninterrupted time, can put me in that same space. A no-meeting weekday afternoon or a Saturday with no plans can still be a trap. Even as an adult, coding or writing can suck me in like a video game.

What’s worse, YouTube and Twitter can do the same thing out of nowhere. I’ve started watching or scrolling and was shocked when I later broke out of that spell!

Good interruptions

The solution is, surprisingly, interruptions. But instead of a disturbance that can pull you in some random direction, we want a pure reminder to climb up a few mental levels, from the details of the task at hand to a higher perspective. From the short term to the longer term.

When I’m faced with a long stretch of uninterrupted time, I break it up with timers I’ve set for myself on my phone.

As I’ve previously mentioned, the Pomodoro Technique is useful to help structure this. At a high level, the technique asks you to break your day up into 25-minute and 5-minute chunks. The larger chunk is your productive time, time on task. The smaller chunks are whatever relaxing thing you’d like: a short walk, a snack, meditation, etc.

When you start each 25-minute Pomodoro, you record a specific stated goal (I track mine with my thoughts system), and focus fully on that goal until it’s done or the time period is complete. Then you take a break. You can decide the right time to check your notifications during this rhythm. I like to do it right before starting my next chunk of work.

I’ve used this approach long enough that I’ve customized it for myself, a rhythm I call Super Pomodoros: 50 minutes on task, then a 10-minute break, almost always meditation. Earplugs, a dark room, laying down, watching breath, focusing on relaxing my face and body. Maybe you’re like me, and you sometimes scowl at your computer as you work?

The benefits of breaks

You might think that all of these benefits are about your body, your health, and your mindset. You might even doubt that your productivity will go up if you’re always being interrupted. But the benefits are pretty comprehensive:

  • Physical balance - Breaks are a good chance to check in with your body, make sure it’s ready to be productive. Do you need a snack? Do you need to stop snacking? Need a refill of coffee or water? Do you need to go to the bathroom? Do you need to move around a little bit? How is your posture? Should you switch your desk from sitting to standing or vice versa?
  • Forcing a higher perspective - One of the dangers of getting deep into a detailed task is that you lose sight of whether you should be doing it in the first place. It feels wrong to stop in the middle of a task, but it’s sometimes necessary. Breaks force you to disengage, giving you space for that kind of thought. Maybe a break will help you toward a more elegant design. Or maybe the task isn’t urgent anymore and you should move on.
  • Limiting struggle - Struggle is a key element of learning, but past a certain point it’s not useful. We often fail to ask for help when we should. A break is a great opportunity to step back, notice that your progress has stalled, and bring in someone else’s expertise.
  • Holding space for others - It’s hard to find the right balance during the workday! Maybe you’re responding too quickly to work folks, and not at all to friends and family. A good rhythm of breaks helps to smooth this out.
  • Hacking your desires - Sometimes I need to do a task that I don’t really want to do. I dread it in some way, for whatever reason. But you know what? I’ve learned that I can handle one Pomodoro of just about anything. I’ve also learned that I’m often in the zone on that task after just a few minutes.
  • Structuring interruptions - If you’re regularly faced with unexpected tasks you do need to deal with quickly, a regular system of breaks can help put some structure into that chaos. If something new comes in, most of the time you can finish your current Pomodoro first, getting into the right mindset.

We’re not robots, though sometimes it can feel good to pretend that we are. I know that I love immersing myself into logical landscapes, whether writing, coding, or playing board games. But it’s really important to take a step back with regularity.

Quarantine and remote work

We’re in a truly exceptional time. Still. After more than a year and a half, we’re still wearing masks, keeping windows open, keeping air filters on high, and working from home if at all possible. For the tech industry, this seemed like a pretty natural change, but it had some unexpected implications.

In my case, I’ve been working at home for many years. Signal is a 99%-remote organization, and my contracts beforehand were almost entirely remote as well. But that’s the key, isn’t it? That 1% of in-person interaction is now gone, even for those of us who were used to remote work. It makes everything harder. An in-person kickoff is important for a remote-only team’s cohesion.

Even worse, households not really ready for remote work have been forced into it.

That 1% of in-person time was a form of break, a mindset shift. If you were not remote before, your commute was a form of break, especially if you walk or bike. In your household, time away at an office was a form of break. We’ve got no natural division between ‘being home’ and ‘working at home,’ so we have to create it ourselves.

Figure out what works for you here. Maybe you need to replicate the office experience a little more closely - you could try coffee with coworkers over video chat. Maybe you need something like your previous commute: sign off in the group chat at a certain time every day then go for a walk, work out, watch some mindless YouTube or a TV show. Set a timer, of course!

Bigger breaks

We’ve been talking about small breaks so far, but humans need longer breaks. Take a long weekend here and there, and longer full-week vacations wherever possible. Yes, you won’t be productive while you’re on vacation, but I know I have lots of energy when I come back!

The same kinds of benefits apply. You’ll break through the tunnel vision of your daily rhythms, so you can think creatively about your future. You can think about what you’d like to achieve in the next few months, or the next few years. You can let that frown on your face relax for more than a few minutes at a time!

Here is where we need to talk about the sorry state of paid leave in the United States. I realize that, with my access to multiple weeks of paid vacation time per year, I am very privileged. In the United States apparently I deserve it and others don’t, given my place in the economy. But I think everyone deserves time off. Let’s push for guaranteed vacation and sick leave time for everyone!

And eventually, maybe we can finally get down to the 15-hour workweeks predicted by John Maynard Keynes when he thought about the increases in productivity we’d see in the future!

Break it up!

Break up your workday with Pomodoros and Super Pomodoros. A little meditation during the workday goes a long way! You could use it on the weekends too - I often use a 50m/20m breakdown on my personal time.

Make sure there’s a clear separation between your workday and your personal time, with a system that works for you.

And finally, be sure to take vacations. Come back after a day or a week away with a fresh perspective and new energy.

Let’s mindfully manage our context!

I won't share your email with anyone. See previous emails.


Magic: The Gathering 2022 Jan 23

Magic: The Gathering is a fun and amazingly deep game. I have a lot of fun with it. But I went really deep. Probably too deep. Let’s talk about how I got in, and how I took a step back. Maybe you... Read more »


A Typescript onramp 2021 Nov 28

So you’re a Javascript developer, and you want to stop writing Javascript. Typescript seems like a good option, but you’ve always used dynamically-typed languages. You’re uncertain about jumping in... Read more »

It's me!
Hi, I'm Scott. I've written both server and client code in many languages for many employers and clients. I've also got a bit of an unusual perspective, since I've spent time in roles outside the pure 'software developer.' You can find me on Mastodon.