Coding in Flow logoGet my free React Best Practices mini course
← Blog

How to Never Procrastinate Again (As a Developer)

Jun 20, 2023 by Florian

Featured image

On social media, I can see that many people struggle with procrastination so I thought I should give my 2 cents on it and how I almost never procrastinate anymore.

I think this is an important topic for programmers because we usually have to juggle our work, study time, and maybe our side projects. But we also want to use our time efficiently and not sit in front of the computer all day.

Because I've always been self-employed, I used to struggle with procrastination a lot. If you don't have a boss or a manager, you're completely responsible for your own motivation. I could browse YouTube all day if I wanted to, but this would obviously not bring me far in life.

I tried out everything, including the most creative sh*t you could imagine. I did all sorts of techniques and hacks, like Mel Robbins' "5 Second Rule" (which is a cool life hack by the way, read it up) or even trying to turn my life into a video game using "gamification" techniques and adding points to all my activities (which doesn't work at all). I also tried out all kinds of productivity apps.

Unfortunately, tricks and fancy apps only help you for a while. But they are not enough to sustain a good work ethic in the long term.

What I swear on these days, and what has worked for me reliably for years now, is to follow my own self-imposed schedule.

This schedule is set as recurring daily and weekly events in my Google Calendar:

A section of a Google Calendar schedule partly showing the events for two days

Here is why I think scheduling your time works so well:

  • It acts as a trigger. How often have you procrastinated on a task and when you finally got yourself to do it, you thought "hm, it's actually not that bad" or even enjoyed the task? When you schedule your time you know exactly when your break ends and when it's time to get back to work. This eliminates this "just a few more minutes" loop we often get stuck in.
  • Time blocks give you intermediate goals. We are often unmotivated when our task is too long or doesn't have a clear end at all. Like "learning to code" or "finishing that app". When you work in time blocks, like I will explain in a moment, your goal becomes "finishing this current block". When you know you only have another 25 minutes until your next break, it's easy to push through.
  • You simply get more done. You know exactly where your time went and you don't feel guilty when you take a break.

As you can see in the screenshot above, I work in 90-minute time blocks with 20-minute breaks in between. This works really well because 90 minutes is about the time we can focus on a task, and 20 minutes is long enough to really enjoy your break, surf YouTube, and so on.

Furthermore, regular breaks are important to take a step back and let your subconscious mind work on a problem. I often get my best ideas right after my 20-minute breaks.

Within my work blocks, I still allow myself to take boring breaks. A boring break means I can chill for a few minutes, look out of the window, lie down, drink water, whatever, but I'm not allowed any entertainment (like surfing the web) to avoid getting sucked in.

Now, I understand that most of you are not self-employed and have a schedule imposed by work or university. In this case, I recommend that you still schedule the time when you're not at work. Schedule your afternoons all the way to when you go to bed. This way, you make sure to squeeze in all the things you want to do, like exercise, working on your side project, social life, studying, etc., without wasting any time.

Is this "toxic productivity"? I don't think so. Having a schedule makes me feel better, more relaxed, and I get more done at the same time. It's a win all around. I even schedule my own bedtime to make sure I get enough sleep, which is essential for mental health and learning.

Here are a few more tips for this approach:

  • Try to follow your schedule as much as possible but don't be too strict. If I'm in the middle of a train of thought, I just extend my work block and then take my break a bit later.
  • If you need to deviate from your schedule, try to get back on track as quickly as you can afterwards.
  • Schedule your time in big blocks (work, lunch, sports, appointments, sleep), and don't go too micro. Meaning, don't plan small events, like "taking out the trash", because that will be too hard to manage and you will give up this approach altogether. I use the free Google Calendar where I've set up recurring events that I don't have to schedule manually every day.
  • If you use Google Calendar, install the Checker Plus browser extension and configure it to show the time remaining for current event (see the image below). This way you get a nice countdown until your current task is over, which gives you a little dopamine hit that keeps you more motivated.

Checker Plus Google Calendar extension settings

Remember, your schedule is not your prison. Sometimes, I replace a work block for a break or to hang out with friends or family. I just get back on track afterward as quickly as I can. Every couple of weeks or months, I even go a day or two completely "freestyle" and don't follow my own schedule (except for my bedtime). This way, it doesn't start to feel too monotonous. But I'm usually looking forward to getting back on track the next day.

I hope this was helpful. If you have trouble with procrastination, try out my advice and see how it goes!

Also, follow my personal account on Twitter if you haven't yet. I often talk about topics like these: https://twitter.com/flo_walther.

Happy coding and take care!

Florian

Tip: I send regular high-quality web development content to my free email newsletter. It's a great way to improve your skills and stay ahead of the curve.

Subscribe Now

Check out these other posts: