Efficiency is not overrated.
Getting your work done quickly has benefits which are immediately realized. You may have more time to spend with family and friends, the opportunity to focus on a hobby, or you may simply get more work done in the same amount of time. I calculated that I save 100 hours per year by having an efficient workflow. You, too, should strive to work faster by evaluating and optimizing the way you work.
This article, the first in a series on efficiency, will focus on my first step toward cultivating a fast workflow: configuring the environment. The principles I employ are aimed at Software Engineers but can be applied to anyone who uses a computer. These tips will be useful to you regardless of operating system, be it a Linux distribution, MacOS, or Windows.
Reduce Friction in Your Workflow
I use virtual desktops – one for each window I have open while working. I switch between them using
Windows or CMD if you’re on Mac) + 1, 2, 3, etc. Super + 1 is always my terminal, Super + 2 is always my web browser, and Super + 3 is always my text editor.
Once, while working for a client that had its developers working on Mac systems, I discovered Apple’s unfortunate decision to include by default a slide animation every time the user switches desktops. Not only was the animation nauseating, but the window I swapped to was disabled for the full second-long animation. On some days this added up to 12 minutes of wasted time. Fortunately, a quick search showed me how to disable most of the unnecessary animations that shipped with the OS. A 30-second fix saved me 25 hours per year.
Apple’s slide animation is an example of friction. Usually friction in your workflow isn’t the product of your own doing. It was placed there by a software manufacturer to solve some problem you probably didn’t have. It is important to reduce this friction. Think about your own workflow. Is there friction where there needn’t be? You are likely not the first person to notice that friction, and an internet search can often lead you to easy-to-implement solutions.
Reduce Distraction in Your Workflow
Software animations are a form of friction, but so is shifting your attention away from the problem you are trying to solve. Thinking back to my virtual desktop example, you may wonder why I don’t just use alt + tab.
For starters, the reason I don’t use alt + tab is that it’s distracting. It takes my attention away from what I am working on to hit tab
n number of times, where
n changes based on the number of windows I’m swapping between. Because my visual attention is required to make hit tab the correct number of times, this slows me down. On the flip side, my solution requires no attention. I swap between windows thoughtlessly using muscle memory. I stay focused on the task at hand therefore performing it more quickly.
Distractions in a workflow can take on various forms. When we determine the cause of a distracted workflow, one common culprit is the mouse. Every time we take our hand off of the keyboard and grab the mouse, we divert our attention to some degree. In some cases the mouse is necessary to perform an action or even faster than the keyboard. I’m not going to go over each of those cases, but they are easy to identify. However, if there is a way to accomplish a task using only the keyboard it is usually faster to do so. (Just think about all of the inefficient ways to copy and paste text.)
I won’t dive too deeply into keyboard shortcuts as it is the topic of my next post in this series. That being said, you can make serious improvements in work speed by learning the keyboard shortcuts for the most common actions you perform.
Give Your Eyes a Break
Finally, I want to touch on a specific problem that I see nearly every day in zoom meetings. Font size. The 12-point font requirement was for your high school English papers – it is not the easiest to read on your computer screen. As developers we use monospaced fonts, which can be difficult to read already. I recommend a font size of no smaller than 16-point. Change it now and your eyes will thank you. This has the beneficial side effect of reducing the amount of code on your screen. If this means you can’t see the beginning of a function when you’re working on its end, you might consider writing shorter functions.
Having read this, you’ve probably thought of some instances where you can save time in your daily workflow. You may have been reminded of your own list of things to optimize which you’ve been putting off. It’s very easy to say “I don’t have time to fix this problem right now – I’m working on a real problem”. We are all prone to occasional procrastination.
Whenever we postpone a fix to our workflow, we are adding to a sort of workflow debt. We build new habits on top of inefficient ones. Our unoptimized actions become entangled with one another and “I should fix this” becomes “Well, I can’t fix this until I fix that”. The solution to this workflow debt is to fix it now. Let that be your motto. The moment you identify a problem, search for its solution and implement it. Sure, you will delay the “real work” you are doing, but the gains you make in productivity will compound for the rest of your career.