Many technology professionals struggle with time management. Sometimes, our time is taken from us in the form of meetings and other obligations. But most of us can also do a better job of managing the time that is left to us, and learning to manage our time is a mission-critical skill for a successful career.
I first want to briefly make some distinctions between procrastination and a behavior that it is often confused with: laziness. In my view, procrastination is the spiritual opposite of discipline. So let’s start with my simple definition of discipline.
Discipline Remembering why you started doing something in the first place.
When I talk to people about why they delay doing some tasks but jump right into doing others, their explanation usually boils down to something like “I just didn’t feel like doing it right then.” And I understand this. I’m a writer, and sometimes I am very much not in the mood for writing. I’m rarely in the mood for reviewing edits (ask my editors). So it’s easy to put off doing these tasks—in other words, to procrastinate, to delay working on a project or finishing a task. Am I being lazy? Maybe.
But then I remember why I started writing the book in the first place. I had a goal, and I had outcomes I expected to achieve: fame, fortune, Pulitzer recognition, you know, the usual things <grin>. And I still want those things, so I need to get it done. Perhaps this understanding of discipline suggests a good definition of laziness.
Laziness Forgetting or not knowing why you started doing something in the first place.
I’ve definitely had projects that I put off and put off, and putting them off made me feel bad. Soon I felt bad about the whole project, so I put it off even further. Eventually, I sat down and realized I didn’t have a good reason to be doing the project. I could not see how it fit into my life or career, and I could not identify what outcomes it was helping me achieve. In those cases, I dropped the project instead of putting it off further. If I couldn’t explain to myself why I was doing it and what value it brought me, why bother stressing over it? I admitted that maybe it didn’t need doing, cut my losses, and moved on.
You do need to be a little careful about jumping to conclusions in that regard, though. Don’t write something off because you’re not in the mood for it right now. Instead, sit yourself down in front of a mirror, look carefully into your eyes, and ask yourself, “Why did I start doing this in the first place? What did I hope to achieve by it?” Answer yourself and then ask whether your reasons are still valid.
Some projects may not have a reason to continue doing. I’ll give you an example: podcasts. I’ve probably started three of them and abandoned them after 20 or so episodes. They’re a lot of work. And I remember why I started doing them! In some cases, however, I decided I simply no longer wanted the outcome I’d originally planned. In other cases, I decided the podcast wasn’t actually achieving the outcome I’d hoped for. So I dropped those projects.
But for those projects I do have a reason for doing, and when that reason is still valid, I have to manage my time so that I can get them done.
I wrote a bit about time management in chapter 6 because I’ve come to realize that being an effective time manager is a key behavior of almost any effective professional. In this section, I want to be a bit more prescriptive and give you some specific behaviors to watch out for and some specific actions to consider taking.
Time is obviously a finite resource, and being able to manage it effectively is an absolutely critical career skill. Let’s start by looking into a few universal techniques that can help you become a better time manager in almost any professional situation.
Successfully managing any resource begins with understanding what you already have. In this case, I do not mean the amount of time you have but how you already spend your time. To keep track of how I spend my time, I use a TimeFlip device (https:// timeflip.io), although you could easily do the same thing with a simple journal or a software app. I like having a physical device to use. A TimeFlip is a white plastic dodecagon—basically a large 12-sided die, like the one in figure 7.1.
You label each side of the TimeFlip with the various activities you normally perform during the day: coding, killing time on Twitter, going to meetings, getting interrupted by someone tapping on your shoulder, whatever. A companion software app runs on your computer. Whenever you switch activities, you quickly flip the TimeFlip so that whatever activity you’re now performing is at the top. You do this all day, every day. I did it for a couple of weeks before I looked at the results. I got something like figure 7.2.
What the TimeFlip did for me was help establish a baseline. The first two weeks I used it turned out to be reasonably productive in my estimation, and I felt that if every week could go about the same, I’d be satisfied with myself. So the TimeFlip showed me how much time I spent on social media during the day, how much time I spent in meetings, and how much time I spent writing PowerShell scripts and doing every other major activity that comprised my days.
Now remember: I’d already decided that in retrospect, those were good weeks. That meant I didn’t need to beat myself up for using social media or going to the break room. I’d done all of those time-wasting things and still had what I felt was a good week. So those so-called time-wasting things were part of an ordinary, healthy work week for me.
Moving past my initial two weeks, I continued using the TimeFlip (and still do to this day). I measure each new week against my baseline. I’ll notice in some weeks that I’m burning too much time on social media, which means I try to manage that better going forward by using time rationing (which I’ll discuss in section 7.2.2). Some weeks have more meetings, and I can track that time and correlate it to any increases or decreases in my productivity. (“Yes, boss, I did write fewer scripts last week, but you had me spending 20% more of my time in meetings. Time is finite, and you get to decide where I spend it.”)
Using the TimeFlip has been an incredibly useful exercise for me, and I update my baseline time expenditure two or three times a year (or when the nature of my work changes significantly, such as being assigned to a new project). Without it, I simply wouldn’t know where all my time went. Now I do.
These days, I also tend to think of my days in ledger form. This helps me plan my day. (I use a Rocketbook planner, which uses plastic-coated pages and a special marker, so I can wipe off and reuse it each week.) A day’s ledger might look like table 7.1.
All meetings (doc reviews in the morning seem to never happen)
What’s important is that I based this blocking of my time on what my TimeFlip told me I was already doing. I optimized a bit where I felt I could but didn't try to remove all of my wasted time, like the time I might spend on social media. My brain needs that time, so I’m planning for it. I’m also not trying to stick that wasted time at the end of the day; my TimeFlip indicates that I tend to start straying off topic in the afternoons, so I plan for that to continue happening. This ledger shows me when I’ve got time for meetings, so I try as much as possible to fit my meetings into those blocks. This system doesn’t always work perfectly, but it helps me go into the week with a plan versus reacting to whatever comes up.
Note that my ledger has room for me to note what happened! This lets me change and adjust as I go, and at the end of the week, it lets me see how successful I was at staying on plan. Knowing what happened helps me make next week’s plan more accurate.
Francesco Cirillo invented this technique (http://mng.bz/O1wP), which I use to plan and ration my time. His idea was to block your out into defined chunks, assign work to those chunks, and work on each chunk only for its predetermined amount of time. To keep himself on track, he used a mechanical kitchen timer that happened to be shaped like a tomato—hence the name of the technique, as pomodoro is Italian for tomato!
Francesco worked in 25-minute chunks of time (which he called pomodoros), separated by 5-minute breaks. The idea behind this approach is twofold: you can get a lot of work done in short but focused intervals, and frequent short breaks keep you from mental and physical fatigue. I’ll adjust my chunk size depending on the nature of my work at the time. I’ve used 25-minute pomodoros, 55-minute ones, and other intervals that better match the nature of what I’m up to.
It works like this: you assign a task to a chunk of time and then set a timer. You work on that task until time runs out. Then you take a break (I time my breaks too) and move on to the next task. I used my TimeFlip data to help me estimate how long a given task is going to take me, and I let my work calendar fill in a lot of the spots. I might have an 8-hour day, broken into 16 25-minute pomodoros, that looks like this:
Plan time chunks for tomorrow, based on email, team meeting, and unit test failures
Not every single one of my days is planned to that level of precision, but many days are. Some days, for example, I plan to work on a single project, so breaking it down into chunks doesn’t gain me anything. But when I know I plan to shift between many things, planning helps me stay on track.
By starting with communications catch-up, I can quickly see whether I need the day to be a multitasking day or whether I’ll have time to get some single-task work done. I’ve got plenty of downtime for my brain (80 minutes total, if you’re counting), and those breaks make it easier for me to switch contexts into the next task (while I grab a Coke).
Not every day goes perfectly, of course. But when things do go off course, I can see the consequences and plan for them. (“Hey, boss, I know the meeting ran long, but that means I’m either going to have to cut coding time back by half an hour, or skip the standup this afternoon. What works best for you?”)
I’ve worked with colleagues who’ve taken this one clever step further. They work in open-plan offices, where distractions are a constant fact of life, so they bought large-digit digital countdown timers. They mounted those timers so that they were clearly visible to anyone walking by, along with a sign that said “Minutes until you can bug me.” Their office neighbors quickly accepted the convention. Knowing that you could tap someone on the shoulder in less than 25 minutes made it easier to wait and in fact encouraged more people to send an email, which was dealt with during its designated time.
My extensive use of my TimeFlip and a kitchen timer eventually helped me realize a lot about myself. I know I can productively code for about 90 minutes before I need to switch tasks (the reason I’m not a professional software developer anymore). I can write for three or four hours solid. I do better with 25-minute meetings than 50-minute ones. It takes me about 20 minutes to clear my overnight emails and about 25 minutes to handle the urgent Slack messages of the day. I know I need about 75 minutes of “no-thinking” time during the day, which I’m fine consuming in small chunks along with a bigger break while I eat lunch.
These facts help create my time modules. I have a catalog of them now, representing a list of common things I do and how long I need to do them. I use that catalog to inform how I chunk out my work days. I know there’s no point in scheduling a 25-minute writing block; I need three or four hours to be productive. I know I don’t need to schedule an hour for emails every day; half an hour is fine. I know that if I’ve scheduled three chunks of time to code and something interrupts, I might as well forget about any coding that day because I won’t be able to stay in the groove long enough.
Knowing these time-based facts about myself has informed my time management efforts and enabled me to manage my time rather than let it get away from me.
Do you multitask well? For the sake of argument, say—out loud—”Yeah, I multitask pretty well.”
No, you don’t. There is no such thing as multitasking. This word comes to us, in modern times, from computers. Computers do not multitask either. Not really. For a given microprocessor (we’re talking about a core here, which represents your brain in this analogy), you can only do one thing at a time. True multitasking can occur in a multiprocessor computer, but that’s (in this analogy) like having multiple brains. You don’t. You’re a single-brain machine; therefore, you can only do one thing at a time.
Computers provide the appearance of multitasking by rapidly switching between tasks. This process is called task switching. The theory is that a computer spends most of its time waiting on humans, so in the idle times, it goes off and does other things. Computers are great at task switching because they have perfect memories; they never lose track of where they were and what they were doing.
Humans do not have perfect memories. We lose track of where we were and what we were doing, so we are also imperfect task switchers. What we can do, however, is learn to recognize idle time and switch tasks then. This is what most people are not good at, because they like to think that multitasking is a real thing. Recognizing that you’ve entered an idle state (“I’m waiting on Jason to get back to me on that email”) lets you switch tasks to something else you can work on. If you have exceptionally good short-term memory and deep attention to detail, you can hop back to the original task when it’s no longer idle, creating the appearance of multitasking.
I can task-switch like a machine when I need to. I can track multiple conversations, to-do lists, contexts, and more in my head. I can be extremely productive—in a certain kind of way. By this, I mean that if my tasks of the day are all short, sprint-type units of work with a lot of idle time (like collecting information from colleagues and making decisions on that information), I can get a lot done. But that isn’t the only kind of work I do. When I sit down to write, I can’t task-switch, because writing doesn’t offer idle time. There are no natural stopping points, and anything other than the writing serves as a distraction for me. When I’m writing, a distraction forces me to switch from a task that needs my attention, resulting in less productivity. So when I’m not in task-switching mode, I turn off the distractions: close the door, turn off pop-up notifications, even cut off my Wi-Fi if I can. Only a high-level, urgent interruption, such as a phone call, can force me off task when I’m in single-task mode.
The problem is that most people don’t deliberately manage the mode they’re in. They don’t put themselves in single-task mode, and they don’t recognize that multitasking mode—really, task-switching mode—is a distinct and different way of operating. They don’t schedule themselves to work in those various modes; perhaps they multitask in the mornings and single-task in the afternoons. But if you can learn to recognize these distinct work modes, you’ll be infinitely more productive, more satisfied, and more sane.
Here’s how to avoid being tripped up by multitasking:
Recognize when it’s time to put yourself in single-task mode, such as when you’re coding, writing something, or working on something else that needs your full attention for a long period. Do what you can to reduce distractions that will take you off task. If you work in an office, try to come up with an agreed-upon signal, such as “If I’m wearing headphones, please leave me alone.” Shut down your email app, Slack, and other electronic distractions.
When it’s time to be in multitasking mode, don’t dive into work that will require your attention for more than a few minutes. Instead, take care of numerous tasks that you can get done quickly. Take notes, if needed, to help you remember where you were in each of the tasks you’re juggling, and keep a list of any action items that you’re responsible for handling.
Don’t mix modes. If you get into single-task mode, but the realities of work demand your attention, put your single-task work away and bow to the necessity of working in multitasking mode for the time. Come back to your single-task work when you can safely block off sufficient time.
For this chapter, I’d like you to look at what’s on your plate and start to apply some time-management exercises:
Start by inventorying all the projects you have in your life, which can include work projects as well as a to-do list of home projects. Do you know why you’re doing each one? Can you clearly state the outcomes you expect from each and explain the value you believe each one will bring? Consider eliminating any for which you can’t.
Create a time catalog for yourself. Begin by tracking how you currently spend your time, with no judgment. If you spend eight hours a week watching cat videos on YouTube, fine; document it. Do this exercise for a week, and try to identify days that you consider normal or acceptable for yourself. This will help you understand where and how you normally spend your time, and help you identify time that you can put to other uses.
Try a time management technique like Pomodoro, and see whether it feels effective for you. It may take a few weeks of effort for things to become routine, so don’t worry if you’re not following the technique strictly at first.