Work Habits For Productive Programming

Productivity is an issue for a lot of programmers because they wait for a mythical muse to come help them think. For some people, that’s a subjective sense of “feeling good”, having sufficient energy, or being ready.

But what if you could command productivity at will? What if every day, when you start your work, you would know that within a few minutes, that you will feel and be productive? Waiting for a muse to hit is a very passive approach, and it leads to peaks and valleys, both of which are very exhausting mentally and physically. We’ve all heard the fable of the tortoise and the hare, but we forget to actually apply it.

We all want that awesome mental clarity where you know exactly what to do next, and it’s just a matter of outputting it onto your computer, right? That’s called flow, and it’s one of the best mental states to be in when you are a programmer because it allows you to think thoroughly about exactly what needs to be done, in a way that you would otherwise struggle to complete efficiently. What if you didn’t have to wait around for flow to strike you? What if you were able to induce flow into your daily routine, just as naturally as brushing your hair or putting on your clothes?

If you want this flow state, and this sense of productivity, the good news is that it’s not magical. t’s not even elusive, you just need to put some steps in place for it to happen. The steps are straightforward: set up your environment, build a routine, and make a habit of doing it.

Our bodies respond to our environment. If you have potato chips in your house, you’re probably going to snack on them. If you are surrounded by negative people, you will probably feel emotionally negative too. But what about positive environment changes? If you put your workout shoes and clothes out the night before, you are far more likely to work out the next morning. Similarly, if you set up your working environment to assist you in making that flow state a habit, you’ll be able to enter it more consistently.

Making flow a habit is all about how how our bodies respond to our environment. If you know that every day when you wake up, you’re going to pull out your phone and check email, your mind and body will expect it and thirst for it, and will even start putting your mind or brain into the mode that it needs to be in to read those emails, well before you actually start reading. Same goes for wokrking out. If you wake up every day at the same time, and have a habit of working out for 30 minutes, your body is going to expect it and will start producing the hormones it needs to at the right time. You may even become psychologically dependent on that workout happening, like it’s a crucial part of your day. And maybe it is!

The way that you make your mind and your body get into flow is that you take the steps necessary to induce flow once, and then repeat it every day.

Now, there are a few key steps. First of all, flow doesn’t happen if you are interrupted, or don’t have a long enough time. Personally, I need about 2-3 hours of dedicated time. You might need more or less, but it should be at least 1 hour. And remember, this is uninterrupted time. Silence your phone and put it somewhere else out of reach. You don’t want to hear any dinging, buzzing, or other notifications. Close Slack, close email, close every other app except for the apps you need in order to think about the problems you are trying to solve during this block of time.

Try to prepare your environment the same way every day as well. This is very personal and specific to you. Do you like coffee? Go through the ritual of making your coffee, and sitting at your desk to begin your flow time. Some people like to listen to music. Other people use earbuds or noise cancelling headphones with no music. Some people play the same song on an infinite loop. Only you can know what works best for you personally, but you can try all of these things. Whatever makes you comfortable and triggers the next step of gradually reaching the flow state is what you should do.

Make sure that you don’t have any mental or physical needs that are outstanding either. If you’re hungry, you should eat. Thirsty? Drink. Tired? Take a nap. This is one reason that flow works best in the mornings too—did you know that in the morning, fairly soon after you’ve woken up, is the very best time of your day to think in certain ways? Your mind is more prepared to think strategically, or long term, or to have the ability to plan and think deeply about difficult problems in the morning. As your day goes on, you’ve probably made a lot of decisions, and you begin to fatigue, so you end up not being able to think as clearly and naturally as you might earlier on in your day. And please note, this doesn’t mean that you have to wake up earlier, or that you can’t be productive at nighttimes. Some people insist that you must start your day at 5am, but that’s not really necessary for this habit to work. The important part is consistency. Try to start your day at the same time every day, and try to start your first time block for flow as close to the start of your day as you can, once you’ve finished your morning routine (yes, you should brush your teeth first).

Got your coffee, headphones, music, a clean desk, and candles burning (or whatever works for you)? Great! The next step is to simply begin. Make some movement. Start typing. Begin to tackle the problem that you’re working on. The key here is to begin and not stop.

Why does this work? It’s a lot more difficult to create than it is to edit, so if you are working on a particularly difficult problem, then your brain needs to begin cycling and chewing on the problem. It will automatically do this once it is forced into some movement. You just can’t be afraid to start, and to try.

And keep in mind, this works for all kinds of software development too, not just for programmers. If you are a CTO, you probably need to spend a good portion of your time writing and planning. Begin your plans by writing them out. If you’re in QA, start by listing out one step that you need to perform for thorough QA.

The point is, you need to start by making the first move, and then keep making moves. Eventually, once you do this for a little while, usually 20-30 minutes, your brain will get used to the movement and will start operating at that higher level of productivity. Creation becomes easier. Don’t even worry about perfection, or clarity, or editing, or any of those things right now. Just begin the work of creation, without rushing, and continue pushing until you need to take a break. You’ll probably find that once you enter the flow state, that you don’t really want to stop for a very long time. For me, I usually last at least an hour, although sometimes it’s more like 2-3 hours, depending on how large the problem is that I need to solve.

It’s like Dory from Finding Nemo: “Just keep swimming”. Swim for long enough, and you won’t even have to think about it.

See, the thing about flow is that it isn’t anything that you have to wait for—flow comes because your mind has been pushed into a mode where it is expected to perform in a certain way. Even though you may not induce flow every single time, you will almost never induce flow if you don’t set up the time and the habit of inducing it every day.

Productivity is not an accident, it’s a habit.

Find the right environment for you.

Ensure all of your basic needs are met.

Block off a calendar appointment every day at the same time for this deep work.

Sound exciting? Try it now—put it in your calendar for a week. Block everything else off, don’t allow any meetings, phone calls, or emails during that time, and just dive into the deep work that you need.

After the week, let me know how it went for you. Did you notice a change in your habits? Did you subjectively feel more productive? Did you get something done that had been hanging over your head?

Until next time,

Comments are closed.