Cycles of Work

Dear new developer,

As I look back over my career of over two decades, I see waves of effort. Sometimes I was working really hard, other times I wasn’t.

I don’t know if I ever truly coasted, but there were definitely times when I took downtime on the job and worked a less intensely.

Work is a marathon, not a sprint.

A former boss

If you’ve ever trained for a running race, you know that there are times when you train really hard. There are also periods when you rest. If you run as hard as you can the entire time, you’re going to break your body down. You may not even be able to do your goal race.

The same is true of software development. A cycle of working hard then slacking off has happened throughout my career.

No one can grind at 100% (or more) forever. You’ll get injured.

This is often called burnout.

Reasons to take downtime

I take downtime because:

  • I recently worked really hard (getting out a release, overcommiting on my part) and need to recuperate
  • I have something going on outside of work (family stuff, side projects, exploring other careers)
  • I wasn’t that interested in the particular problems I was working on
  • I was exploring something new

How this manifests varies; it could be fewer hours, less output, working on a process or tech debt, puttering with a new tool, or some combination.

All of these restore me in different ways.

An aside: it’s okay to be a bit bored with scutwork, but if you are never interested in the problems you are working on, you should look for a new job.

Reasons to work hard

It’s not all slacking. I work harder than usual, too, for reasons like:

  • I was working on a startup or project I was passionate about
  • I was focused on gaining a new skill, like when I learned Ruby or people management
  • The job needed the time and effort to complete an external commitment (launch, deadline, etc)
  • I was exploring something new

Interestingly, “exploring something new” is on both lists. This might be both an activity you undertake during downtime and something you work extra hard on because it is fascinating to you.


Vacation isn’t on the downtime list; vacations are important and you must take them. It’s part of being kind to yourself.

But a vacation isn’t going to heal all your stresses and strains. That would be like expecting a week of total rest between months of all-out running effort to be effective. Taking it easier at work is critical too.

Learn to take it easy

As a new developer, there’s so much to learn. You can feel overwhelmed and try to “learn all the things, all at once”. That is going to be frustrating and counterproductive. You need to learn to take a break too.

Realize that work comes in cycles. You will sprint and also rest over the course of your career.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.