I have recently read Willpower: Rediscovering the Greatest Human Strength, and I had many “aha moments” while reading it. I do not claim that it is a bible of productivity and everything but it has many good theories based on scientific experiments.

What Is Willpower?

In short willpower is psychological power that we drain every time we go out of our routine, or decide on something like what to wear today. It replenishes after a sleep or a meal. If your willpower is depleted, you more likely go for your bad easy habits, such as, smoke a lot, eat junk food, procrastinate and less likely to successfully change your habit in a good way. So in short, a strong and undamaged willpower is a must, if you want to have a productive programming day. Here is why:

Programming contains a lot of decision making. We decide of things all the time. What should be the name of file, folder, function, class variable. It is even considered the hardest part of programming, naming things;

There are only two hard things in Computer Science: cache invalidation and naming things. —Phil Karlton [1]

And there are vast ocean of ways of doing a specific thing. Choosing a library or a utility plugin. It even seems to me programming is an activity of deciding. No surprises if it depletes your willpower.

Programming is not a routine job at all although there are times that you just apply what you know best, implement a CRUD view for example. But most of the time, a programmer will try to improve by trying new methods. And because of constantly changing tech world, one have to change ways of doing things. So we can hardly speak of a standard way of doing things in programming.

Programming requires concentrated thinking. Because most of the programs tend to get complex over time. It is just the nature of things. Adding a feature there and here, introducing bugs, noticing the initial structure is so wrong and starting to implement workarounds. You’ll get a complex thing, that it will be impossible to a programmer to have full knowledge of the system at a time. So one needs to separate concerns, and only focus the problem at hands. And believe me that requires concentration. It will deplete you if it wont deplete your willpower.

So a programmer should come to a work with filled willpower if he/she wants to do some productive work. And avoid things that will drain willpower, before doing any work. Here is my list of productivity tips, with willpower in mind.

5 ways to be more productive

1. Eliminate distractions while doing work.

If you are relatively healthy, you’ll arrive work with a full willpower reserves. One would want to solve some problems at hand, with their willpower still full. A depleted willpower will make things harder. It is only logical that, a person with depleted willpower, will not work on hard problems as much as a person with full willpower. And distractions will nearly always drains will power. A mail notification may immediately kick you out of concentration. And concentration to a specific problem is a very expensive thing. You need to fill your short term memory with relevant data before even attempting to solve a problem. And this process requires willpower. So just avoid random browsing in the morning, do not check your emails, close all notifications. Go on fix some problems right away. Doing so will have mental rewards which will help you retain some of willpower.

2. Have a Plan

Having an idea of what to do in a day, will help you organize yourself in a subconscious level. There is evidence that people will use their willpower according to their future tasks for that day. According to a study[2], if there are 3 tasks to be done, humans tend to utilize their willpower in an equal manner. But after they are done, if you surprise them with a new task, they’ll find hard time to do that task, but an other group which were informed about 4 tasks before, will not.

So have a clear plan, for example, have most important 3 things to do that day. And write them down.

3. Burn The Ships, occasionally

Do you find yourself that constantly you fail to complete your daily task list. Then it means you are planning too much daily tasks for your self. But sometimes it will help you to be self determined. Say your self: you wont live until you complete the tasks at hand. This kind of self determination has many references in literature and history. But using this technique continuously results an unhappy life. So only use when needed. We always should pursuit a happy life after all.

4. Be Healthy

In many studies willpower is associated with physiological metrics or general health. For example, your willpower is directly dependent on blood sugar[3]. Having a steady levels of blood sugar may have positive effects on your mood and allow you to concentrate longer on tasks. And regular exercising is a proven method to have a greater mood. So eat healthy, exercise, you’ll find yourself with a stronger willpower. And notice that eating sugary junk food will crash your blood glucose/insulin levels, preventing you to be in a focused state for long times. For me following a low-carb high-fat diet, helps me to have a stable mood all the time. There are lots of ways to get this metabolic effect in different diets with different macros(carbohydrates, fat and protein).

5. Have a TO-DO list

This is the one of the most important thing to have a productive day. There are several benefits of having a TO-DO list. It is because of the Zeigarnik effect:

“Uncompleted tasks and unmet goals tend to pop into one’s mind.”

So when you decide to do something later, you should add it to your TO-DO list. Otherwise, your mind will bug you with that at random times. And by constantly clearing items from TO DO list will let you have a satisfaction of doing things.

Conclusion

Programming is in general a complex and a very demanding activity. And it drains your willpower all the way. So do not take it lightly. Focus your tasks in the early hours of day in which your willpower probably would be full. Have a plan at the start of the day. Do not let yourself to be distracted by unnecessary things such as random browsing. Take care of your health. Without a good health, do not expect to have a good performance in programming. And finally always take notes about future things to do, to prevent your subconscious to bug you at random times.

REFERENCES