I've been coding wrong my whole life.
I thought it was okay to just sit down at my desk, open my laptop, take a task from my to-do list, and code it until I felt tired.
But in reality, this style of work always killed my productivity levels after 2-4 hours of coding. I felt so tired that I didn't want to do anything except different low energy tasks (like code review).
Today I can code 8+ hours without feeling like crap after.
What has changed?
My approach to work.
After 62+ self-development books, dozens of articles and studies about productivity, and my trials and errors, I have created a productivity system that helps me to code, write, create, and live at my maximum capabilities without procrastination, tiredness, and brain fog.
Here it is.
My Productivity System
My productivity system is founded on 3 main pillars:
- To-dos for tomorrow
- System 69
Let's take a closer look at each of them.
Create a Schedule
Everything starts with a schedule. What, where, and when I do my tasks.
My schedule looks like this:
I’m using a whiteboard to constantly remind myself of what I should do at the exact moment.
I always neglected to create a schedule.
“I know what and when I should do!” I told myself.
But in reality, I always forgot to do my daily activities (even when I'd built up a habit of doing them).
For example, when I woke up at 7:00 in the morning I knew that I had 1 free hour before work. In that hour I wanted to have time to do a morning ritual (eating, stretching, showering, breathing) and to read for 30 minutes.
But many times I would have breakfast in the morning for an hour, forgetting to take the time to read. Even if I kept in mind that I had to read for 30 minutes every morning. I overdid one activity (breakfast) and stole time from another activity (reading).
I also noticed that without a schedule it took a lot of time to decide what I should do next. I could finish the workout in the afternoon, take a shower, sit at my desk, open my laptop and then decide which task I should pick next within 10 minutes.
If we count how much time those decisions take every day, that 10 minutes becomes 60 minutes. One hour! That's a lot of time.
The other thing is that in the process of deciding what I should do next, there were always an angel and a demon sitting on my shoulders and "helping" me decide whether I should work on the essential things or do some light work, or even take a break to relax. I often had to use willpower to force myself to do the "right" things without a schedule.
“If you waste resources trying to decide when or where to work, you’ll impede your capacity to do the work.” – Guardian
When I made the schedule, these problems disappeared.
Now, I always have time to do what I have planned.
I always know what I should do next.
I don’t need to use willpower to force myself to do essential things.
The schedule puts my decision-making process on autopilot.
If you want to create your schedule, I recommend using Google calendar for it. This way you can easily edit or share your schedule with someone else.
Also, I recommend keeping your schedule on a piece of paper or whiteboard, to always remind yourself of what, where, and when you should do various tasks.
Write Down Your To-Dos For Tomorrow
If the schedule helps me decide what, where, and when I should do the next task, the to-do list helps me decide exactly what I should do next.
I could go through a "perfectly planned" day, but still not do what was essential to me.
For example, when I opened my schedule and saw a “Deep Work” block from 08.00 to 09.30, I could do deep work. But that wouldn't guarantee that I would be doing important things during that time and not some light work.
Our brains are always trying to spend less energy and will do everything to convince you not to waste energy.
That's where the to-do list comes in.
It further helps me put the decision-making process on autopilot and spend less time and cognitive resources on it.
It guarantees that I will do only essential things (most of the time).
My to-do list is simple: I use a plain paper notebook to make it and Notion as a digital copy (I use Notion for everything, but that's for another article)
When I create my to-do list I create it in the evening for the next day.
When you plan your day in the morning, you are thinking about every task that needs to be done that day. This is fine when the task is clear and simple and you know what to do (like “code review last commit by John”).
But when you don’t know what exactly needs to be done, it will take time to figure it out. Like when you know that you need to write an article, but don’t know about what. It will take time to research your ideas and choose the right topic to write about.
And in addition to the fact that such tasks take time to research, there is a chance that you will fall into the trap of your thinking process (when you start imagining results, details, processes, and other various things related to the task, and you spend 5, 10, 15, or even more minutes on it).
The process of creating a to-do list in the morning wastes your productive morning time, your cognitive resources, and has a chance to distract you.
That’s why I create a to-do list for the next day, and not in the morning.
When I started coding I did it like this:
- Open laptop.
- Open Code editor (VSCode).
- Pick a task.
- Code until I feel tired.
- Take a break (spending time on social media).
Until I read about the Pomodoro technique.
The Pomodoro technique is a time management method when you break down work into intervals, traditionally 25 minutes in length, separated by short breaks. For example, 25-minute coding and a 5-minute break after. You divide the entire workday into such breaks.
25 minute coding.
5 minute break.
25 minute coding.
5 minute break.
25 minute coding.
And so on until the end of the working day.
I tried it and it worked, but not as great as I imagined. I definitely became more productive, but for an additional hour. And I found the 25-minute work intervals to be too short for me (It took me 5-10 minutes to activate the flow state, so I couldn’t perform a "deep work" for more than 15 minutes with such intervals).
So I went further.
I found the 52 + 17 rule.
52-minutes of work and a 17-minute break. Similar to the Pomodoro Technique.
I tested it and it worked better for me than 25+5 intervals. Now I could work productively for two more hours, but I still felt like crap after a workday.
So I didn’t stop at the 52 + 17 rule.
I started researching more about productivity and motivation and learned about effective breaks.
When most people hear the word “break” the first association is “doing anything except work.” Like scrolling your Instagram feed, chatting with friends, or watching YouTube.
Technically these are all breaks, but not effective ones.
The main sign of an effective break is that it gives you energy, not takes it away.
Example of my effective breaks:
- Light workout.
- Walking (without headphones).
- Breathing (box breathing, Wim Hof method).
After I learned about effective breaks, my workday became almost perfect - 52 minutes of work (45 minutes often in a flow state, because I need 10 minutes to reach it) and 17 minutes of an effective break that gives me energy.
Everything worked perfectly, and I thought I could stop there…
But I went further.
I was obsessed with the idea of making every hour of my work the most productive hour on earth.
And I think I did it.
One thing that kept me from being in a flow state all the time was distractions.
For years I didn't pay attention to them. To all the notifications that pop-up on my phone, the noise of people around me, the hundreds of open tabs and windows on my laptop, all those distractions.
I would set a timer for 52 minutes, start to work, get into a flow state, and then BAM! A new notification would pop up. And I would be like, “What’s in there?”
The flow state was gone.
Focus on the task was gone.
Productivity was gone.
One tiny notification instantly ruined my productivity.
I never paid attention to it until I started to deep dive into the personal development field (I wish I'd started earlier).
Now, when I work I turn off all notifications, tell people to not bother me, put on my headphones (if I work in a noisy environment), close all the browser tabs that are not related to the task, and do everything I can to avoid distractions during my working hours.
So far so good – now my system really seemed perfect.
But could I go further?
The last piece of the puzzle is NO multitasking.
When I hear today that someone can do multitasking, I smile.
Multitasking is not working.
There is only one study that shows that 2.5% of subjects can do multitasking with the same efficiency levels as performing one task at a time.
The other 97.5% are not.
So when I pick some task and start doing it, I focus only on it.
One task at a time.
Not two. Not three. Only one.
This is a rule I follow during my working hours.
Okay, now we have all the pieces of System 69.
Let's glue them together and see what we get:
- 52-minutes of work.
- 17-minutes of an effective break.
- Remove all distractions.
- Focus on one task at a time.
This is my System 69.
In the end…
These are the three pillars of my productivity system.
You can use my productivity system to successfully do any kind of job, not just coding. But use it wisely.
Have a great one!
Also every week I send out my "3-2-1" newsletter for Web Developers with 3 hand-picked articles from me, 2 web development guides from others, and 1 useful Tweet I enjoyed.