Some days, when I sit down at the keyboard to write or work, I just can’t get going. My mind is blank, or fuzzy, and I just can’t focus, and can’t think of what I’m supposed to actually do next.
Some days, when I’m coding or immersed in technical work, there comes a time during the day when I just “hit the wall”, and I recognize that I’m not going to be able to get anything more done for the day.
However, most of us don’t have the luxury of just saying, “Whelp, that’s it. I’m heading out for the day.” We have deadlines, customers, projects, timelines. And a lot of us have a mandatory 8-hour-day at a desk so you can’t just leave. So what can you do?
Here are some things I’ve learned to help with this issue.
Have a Backup “todo” List of Straightforward Things
In addition to the deeper technical work in front of me, I always have a running todo list of simpler things to work on, things that don’t take as much concentration.
- Catch up on email
- Catch up on reading a technical article
- Proofreading a document solely for grammar and spelling
- Checking the status of builds, running systems, performance tests, backups, CI pipelines, etc
- Checking on the products we use, to see if new versions or new features are available and see how long until your existing licenses expire
- Checking on the status of some request I’ve sent to someone else, or the status of some external dependency task
- Catch up on writing out meeting minutes, or updating architecture artifacts such as drawings or lists of software that you use
I’m sure you can think of more, but there are all these housekeeping tasks that need to be done, but to be honest you’re probably too busy most of the time to stay caught up. Well, if you know these tasks need to get done and you are in some zone where you’re just struggling to stay awake, then take that time to get some of those things done.
Short Refresh or Recharge Activity
I used to not really go out to lunch, but instead eat a quick 15-minute meal in the break room. But I would still take a longer break, usually 45 minutes, at around the 1:30 or 2PM mark, which is right when people usually hit that lull in their productivity. I would hit the gym or the track and just workout for 15-20 minutes, short enough that I can be there and back in less than an hour. 20 minutes doesn’t seem like a long time but it’s enough to do a couple of supersets of whatever you like to do. Just enough to get the blood flowing.
Alternatively, on some days I just take a 15-minute walk, maybe with my headphones in listening to instrumental music. Or I’ll go make a cup of tea, or fill up a water cup. Anything to just get up from my chair and move around.
I found that doing any of these things can frequently really recharge my mind and I’d be alert and refreshed afterwards.
Just Get Started
I’m starting to believe the adage that what you need for productivity isn’t inspiration or motivation, what you need is discipline.
There was a great quote I read in Stephen Pressfield’s The War of Art (which by the way is a great book and a recommended read). The quote goes something like,
“I am able to write when inspiration hits. Luckily, it hits every morning at 9AM.”
So many productivity techniques, like Pomodoro or whatever, distill down to a simple concept: get yourself to actually get started. This is something I learned way early in life: whenever I had to mow the lawn, getting started was the hardest part. I just absolutely did not feel like going outside and firing up the lawnmower. But if I could just force myself to go through the motions, once I started I was fine (more or less).
So when it comes to writing code, or writing an essay, whatever, the trick is to just grit your teeth and START. If you’re writing words then don’t worry about the quality of what you are writing (at first). Just get words on paper. Get going, just write literally whatever you can think of. You might find that within a few minutes you find your groove and can keep going. And remember that with writing you can always go back and edit or rewrite or reorganize the words and structure.
With coding, this is a little trickier. But interestingly this aligns with the same principles as minimum-viable-product. Look at the code in front of you, think about which specific feature you’re going to add or bug you’re going to fix, and just do that one thing. Don’t worry about refactoring, fixing other broken stuff, or anything like that. Just focus on the one task in front of you and get it done.
One technique I use with coding is similar to the free-flow, stream-of-consciousness writing technique above. Don’t focus on all the exact syntax, just write pseudocode, or even just comments. Start writing the general flow of the code, maybe the method signatures and so forth. If nothing else, this helps better define the code that you will eventually write, and what the unit tests will need to look like.
But Accept the Limit
There are tasks and place where this doesn’t work, when you’re in the fatigue zone. If you’re coding and you don’t know what the bug really is, for example, and you have to trace code and debug. That can take some deep thought and any mental mistakes there can extend the time. Or if you are refactoring something messy and trying to make it more elegant. Lack of focus and rushing in that case may just be causing more technical debt. You have to be realistic and respect that you really can only get so much deep work done in a day.
As a manager or leader, this is key to know. If you start trying to push people beyond these reasonable limits, this is where you start to introduce more bugs than you fix and also where you start to hurt everyone’s morale. Finding these limits, without also letting people just goof off, is more of an art than a science, so you will need to observe and learn where your team’s limits are.