Archive for category Productivity
Interruptions kill productivity in any work environment and it’s no different if you’re working from home or not. In this post I share some of the techniques I’ve been using for several years to help manage interruptions:
- The Pomodoro Technique
- Educate your environment
- Replay what happened prior to the interruption
The Pomodoro Technique
Check out The Pomodoro Technique website in case you’ve never heard of it. Besides working in focused 25-minute blocks, the main thing I got out of this technique has been tracking interruptions and classifying them as:
- Internal: have I stopped working on my task because I saw a social network or email notification? Or maybe because I opened the web browser to check one thing related to my task and ended up reading the news instead? Such interruptions are considered internal because I didn’t have self-control and focus to stay on target. That’s easily addressed by shutting off all notifications, at least during that focused time.
- External: have I stopped working on my task because somebody walked up to my desk and started talking to me? Or maybe because I got pulled into some unplanned meeting? These are external interruptions brought to me. They can be addressed by educating your environment. More on it further down…
I can’t stress enough the importance of taking note of the interruptions, classifying them as internal or external, and finding ways to prevent them from happening again.
Educate the Environment
Let your environment (physical or virtual) know whether it’s ok to interrupt you or not.
- Let people know that you’re in “do not disturb” mode: put up a flag, a post-it note, your headphones… whatever your token is, just let people know. Don’t forget to put it away when you are available (use the status feature if you’re working from home);
- Let them know why, if necessary: Depending on the situation, when others know why you’re not available, they are likely to help to keep others from interrupting you;
- Let them know what they should do if they need you: if they have an urgent situation, let them know to interrupt you by all means. If it’s not urgent, let them know to drop a note such as “I need 5 minutes of your time before 3pm today…”. They can leave a post-it note on your desk or a message in whatever communication channel has been clearly defined. Make sure to get back with them (this is essential for the system to work!).
This is what I have right outside my home-office…
Replay what happened prior to the interruption
A big problem with interruptions is that it takes us an average of 25 minutes to return to the original task. If my task is done on the computer, I’ve found ways to decrease the time it takes me to get back “in the zone”:
Take screenshots: I’ve been using TimeSnapper for a long time. I blogged about this 13 years ago! In nutshell, the tool takes screenshots every 5 seconds. If I get interrupted, I can use the tool to replay the screenshots and jumpstart my mind to put me back in the zone.
Git commits: I’ve also used my commits in Git to get back up to speed after an interruption. If I was heads-down working on a user story, implementing my tests, making them pass one by one, and committing after each step, I can then look at the commits to see the work I had done prior to the last interruption, which helps me get back in the right frame of mind.
If you take anything of this post, this should be it:
- Realize you’ve been interrupted;
- Determine whether it was an internal or external interruption;
- Isolate the source of the interruption;
- Put some system in place to prevent the same kind of interruption to happen again;
- Some interruptions can’t be prevented, so put a system in place to recover from it quickly.
Back in 2015, I used to have a morning routine that included working out at the gym. Since I get bored working out, I’d often be either listening to audiobooks and podcasts or watching TED talk videos on my iPad. Whenever there was something I wanted to either review or remember later, I’d take a quick note, such as this one: “Slow the #$@! down!“
I wrote that note when watching Carl Honore’s “In Praise of Slowness” TED talk. I’ve been since saying that sentence in my mind, deliberately, at times when I realize I’m rushing through things.
Did Michael Jordan really say that?
I’ve either read or heard someplace that somebody asked Michael Jordan how he was able to read a game so well and react so fast to it, and his answer was something along the lines of having an ability to see everything going on around him as if it were in slow motion.
I haven’t been able to fact-check that, but I don’t care, since the idea makes a lot of sense to me: if anything is fast-paced, the best way to succeed at it is to see it in slow motion. But how do we do that without acquiring the powers that only fictional characters such The Flash possess?
How does he make his guitar sound like that?!
I still remember my thoughts when I first listened to Yngwie J. Malmsteen (Swedish Guitarist) when I was a teenager. At the time, I was happy I could play some of my favorite guitar solos found in the music of bands such as Iron Maiden and Metallica. I could learn their songs simply by listening to it.
Then, I start listening to an album by Yngwie and my face is melt; I simply could not understand how he could make his guitar sound like that. I mean, I couldn’t visualize how he was playing that. Certain passages sounded so fast, yet so smooth. I’d pick up my guitar and not have a clue where to start trying to learn one of his licks or solos. I had to see it to believe it. After seeing it, my brain could start processing what was happening.
At one point I got a copy of a VHS tape with his video lessons (holy grail!), and when he slowed down playing some of his licks, only then I believed I could actually learn how to play that (and I did, as we can see in some of my own music).
Practicing playing a guitar has to start slow, regardless of your level.
Riding motorcycle at a race track can be daunting. Things come to you very fast when you’re going 150mph on a straight, or 100mph around a corner! When I started riding at the track in 2017, I did what most beginners do: looked down on the track, instead of further ahead. By the time I got to a corner, my brain didn’t have enough time to process the information and make quick decisions on all the things that I need to do in order to go through a corner properly.
“Go slow to go fast”, they say. And that’s true. I needed to slow down to be able to learn fundamentals of track riding. Give time to the mind and body to internalize the actions. As time goes by, muscle memory is built, besides developing better visual skills; instead of looking where I’m going, I learn to look where I want to go next. The better I do that, the more time I give the brain to process everything, so it’s almost like things are coming at me in slow-motion.
Putting the mind and body through the process of slowing things down before trying to go fast makes me a better rider, so I do it as much as I can, which includes riding mini-bikes:
Fast-Thinkers and Improv
I’ve been blogging about my recent experiences in improv. At first, I thought improv would teach me how to think fast. As I focus on thinking fast, I end up stumbling into my own thoughts. That’s similar to blowing up corners at the race track because of not “seeing ahead”, or blowing up several notes in a guitar solo simply because I’m focusing on playing fast.
But then, I found this short video a few days ago, which changed my perspective on it:
“Backing up” in a scene seems equivalent to seeing things in slow-motion.
What did that driver just do?
I guess this has happened to you several times: you’re driving, minding your own business, when all of sudden, another driver pulls up right in front of you (driving out of a parking lot or something like that), startling you really bad.
That does happen to me at times, usually, when my mind has drifted away, as I’m thinking about a million things, except for the one impostant task at hand, which is to safely drive my car. In such situation, it is easy for other drivers to catch me off-guard.
That type of situation can be avoided by using “slow-motion” again. In this case, that means to be in the moment, aware of my surroundings. When fully-aware, predicting what other drivers are about to do becomes easier. We predict when a driver is ready to jump the gun and make a last-minute right-turn, or when a driver will cut you and others off, jumping lanes without using the blinkers, or when a driver will speed up to prevent you from merging into his or her lane. “Slow-motion” here doesn’t mean slowing down the speed of the car; instead, it means our mind can better assess the situation because we’re giving it space to process the information.
I’d like to point out that I believe I’m usually way more aware in traffic than other drivers because I also ride motorcycles (the lack of a “cage” makes one aware in the middle of crazy traffic and drivers).
Software Development: Productivity Tools
I’ve been using productivity tools such as ReSharper and Code Rush for a long time. At first, it was just cool to see how quickly I was able to navigate code, write it, change it. I now see it differently.
To the outside (other people), it looks like I can do those things really fast. Internally, though, doing those things fast allows me to think slowly. Because of the muscle memory built after practicing all those shortcuts, I spent less time figuring what and how I’ll do something, and spend more time thinking why I’m doing it.
In the same vein of giving the brain some room to think, I often take the time to do things the slow way; for example, I may go the command line and type a command character by character, instead of recalling and changing a previous command, or using an alias of some sort. I fall back to this approach when I feel I’m either rushing or unsure as to whether I’m going in the right direction (“If we are facing in the right direction, all we have to do is keep on walking.”).
Summing it up…
I have posted many times about my extensive usage of Evernote: I’ve just broken the 25k-note mark! I organize my notes by using a good mix of notebooks and tags. But going beyond that, I also organize certain notes based on when I need. For example, there are times when I need notes…
- This Week
- This Month
- This Year
When I’m doing my period review (daily, weekly, monthly, yearly), I tag notes as per my temporal needs as listed above (i.e., “today”, “week”, “month”, “year”). I then use Evernote’s feature to have multiple tabs open:
On the Mac version of Evernote, I do the following:
- Open a new tab (Command+T)
- Filter on the given tag (Command+J to search for the tag)
For example, when I do my weekly review and planning for the upcoming week, I create one note for each meeting I have coming up, and then I tag those notes with “week”. That way, it’s easy for me to find those notes and drop in comments or any other information I’ll be needing in those meetings.
Another tip: depending on how I’m working on my notes at a given point in time, I also leverage the option to open a “new window” in Evernote. That way, I have one window with tabs for the different periods I’m organizing, and another window for anything else (sometimes with tabs for different projects, people, places, etc.).
I’ve first heard of having a “pre-game routine” in this post by James Clear, and have used to technique a couple of times. This week, I’ve decided to try it out as a “code writing warm-up”. 🙂
The idea is to write a little bit of code for a couple of minutes just to get my mind in that mode. I also decided to stack pair this new habit with either learning or getting better at something I see room for improvement. In my case, that’s ES6.
I’m relatively new to ES6 and am still educating my brain to get used to reading and writing it. I enjoyed using RubyKoans back when I was learning some Ruby, so I figured I could try something similar for ES6.
I’ve found this collection of ES6 Katas; before starting any sort of coding in my workday, I spend 5-10 minutes doing these Katas. I’m digging it!
If there’s anything I do all the time, I try to either find or create a shortcut so I can do it using only the keyboard. Moving windows around is one of those things (maximize, minimize, dock to different parts of the screen, move to different monitors, etc.).
On the PC, I use the combination WinKey+(up/down/left/right arrows). For instance, say I’m working with Notepad like this:
If I want it maximized, I hit the Windows Key + Up Arrow:
If I want it restored back to its original state, just hit Windows Key + Down Arrow.
If I need it docked to either the right or left side of the screen, I hit Windows Key + Left/Right Arrow:
If I want to move the window moved to another monitor, just keep hitting Windows Key Left/Right Arrow until the window makes it to the other monitor (once it gets there, I usually hit Windows Key + Up Arrow so it gets maximized).
On the Mac, I use the SizeUp app, which gives me even more options to manage windows on my screen:
I use these shortcuts all day long!!
As it turns out, I just realized the post where I talk about switching windows layouts in Visual Studio 2017 was dead on arrival. Well, the tips I gave regarding exporting/importing settings and using VCmd to automate some of that is still relevant and useful.
However, for switching windows layouts, somewhere between VS 2013 and 2017 the tool finally introduced something to make that easier:
Regardless of the approach, please consider using your screen real state wisely. I see a lot of developers fighting VS with its several windows all crammed into one screen, while the other screen has either MS-Outlook or a web browser open at all times showing all sorts of useless things that can only steal away productivity and focus.
There are times, however, when I’m doing temporary work at a client’s machine and I don’t want to use my personal SnagIt license, so I use the next best thing: Jing (also by TechSmith). It’s free, and it has several of the main features I use all the time in SnagIt.
Jing has a quick access feature that sits at the top of my screen:
I select the window or area I want to capture, perform some basic annotation, and then either put it on the clipboard (usually to paste it on Evernote) or upload it to screencast.com (free service from TechSmith) so I can easily share the image through a link with other people:
That’s it: simple free tool that I use a lot everyday and makes me more productive. Win-win.