How I stopped my procrastination: Insights into developer mindset
Eshaan

Eshaan @eforeshaan

About: I create, because I can! Developer, musician, electronics-hobbyist.

Location:
Delhi, India
Joined:
Dec 12, 2023

How I stopped my procrastination: Insights into developer mindset

Publish Date: Jul 5 '24
468 49

You’ve been at your job for years, you know how to write code good enough to get you by comfortably, yet every now and then there’s a ticket, a ticket that lingers on-and-on on that kanban board, red with delays, reschedules and “is this done?” comments. “I’ll pick it up first thing in the morning” is what you told yourself yesterday, and the day is already dusking off.

We as programmers and developers are likely to procrastinate, and there are good enough reasons for it. And being lazy might be one of them, but the documentation of our brains is much bigger than that.

Why programmers are likely to procrastinate

Cognitive overload 😵‍💫

As problem-solvers, we tend to use the ‘most-contextual’ part of the brain way too often, i.e the Frontal Cortex.

The frontal cortex is responsible for executive functions, which involve analyzing information, identifying patterns, decision making, and most importantly, doing-the-right-thing-even-if-it-is-the-hard-thing-to-do actions.

For these seemingly-simple tasks, the frontal cortex needs bucket-loads of energy, exhibiting a very high metabolic rate.

We, as mere mortals with anti-bluelight glasses, have fixed reserves of energy, and when we expend them, compromises start to occur.

Behave’s author Sapolsky point out that when the frontal cortex is overloaded, subjects become less prosocial, they lie more, are less charitable, and are more likely to cheat on their diets.

“Willpower is more than just a metaphor; self-control is a finite resource”,

he says, stating that doing-the-right-thing-even-if-it-is-the-hard-thing-to-do is not merely an emotional and moral choice, but is far deeply tied to the physiology of the brain.

I’m just a kid

We have all had our fair share of beginner-developer moments. When we plowed through nights and days trying to learn and retain how that x language or y framework functions. And the number of times we almost gave up.

But after a certain threshold, coding didn’t seem to have that big of a draining effect. And there’s a good reason for it.

When we practice and learn something, we start shifting the cognitive processes to the more reflexive (stemming from a reflex action, an automatic “muscle memory”) parts of the brain, like the cerebellum.

And once that is achieved, we reduce the burden of computation on the Frontal cortex, making the tasks less energy-taxing.

Decision Fatigue

Cognitive tasks are not limited to logic-oriented, calculative, cautious tasks that one does as a programmer.

It also includes a seemingly simple task: Decision making, like using the correct approach to write readable code, or something as simple as which task should I ship first?

And like cognitive loads, decision-fatigue is tied to your energy reserves too, and can ultimately affect your productivity.

Process rather than Procrastinate

Now that we have broken down Procrastination, it's time to actually tackle it.

1. Germinate

To achieve anything, whether it’s your jira-ticket’s completion, or a side project, one must start to build. “Am I taking the most efficient, readable, perfectly orchestrated approach to solve this problem”; the friction of uncertainty and self doubt usually make it hard enough to begin with.

Opening your laptop is the first victory to overcome the code-block. And the only way to do that is to have something certain, some anchor that doesn’t give you any unease.

I’ve had times where I tried to find a perfect time window to start programming on a weekend, that was me trying to find a unicorn.

So I made it a point that at a certain hour in the morning, I will open Monkey Type and try to hit the day’s first 80+ words a minute.

It’s something I stole from Atomic Habits, and it helped immensely. This simple ritual in the first 5 minutes of my day consisted of adrenaline-rushed, muscle-memory reflexes that had nothing to do with uncertainty of my task.

Thus, I could be eased into opening my IDE to complete that Jira ticket, whose dread had haunted my jira board for a week.

2. Granular-ize

Something I learnt fairly recently is to plan in a way that your programming journey will have little to no decision making once you start with writing code.

Everything about the development process can, and should be pre-planned, into its utmost smallest task-granules, making things as clear as they possibly can be.

The concept of Engineering Requirements Document (ERDs) was something I looked down upon as corporate scut-work for the upper management to feel included in the process.

Turns out I was wrong, and it’s intended to make sure that all the decision fatigue occurs during initial stages, and the rest of the shipment of tickets spread throughout the week remains relatively unharmed from taxing your Frontal cortex’s energy reserves.

3. Game-ify

Updating my Jira tickets on my kanban board didn’t give me enough belongingness to the fruits of my labor. Neither was I able to track my personal progress of what I completed, what I shipped and what I spilled.

So I kept a set of my mini daily tasks on a local Microsoft’s To Do list. The satisfying chime of completing the task gave me a big boost on being on track, without having to worry about what is left undone and what is yet to be picked up.

Since this was personal, I could add tasks like “get a brownie on 3 completions” and wait for it to ping up when I marked it as done.

Motivation is a cocktail of neurotransmitters, make sure you zap your brains with some hits, every now and then.

Another tool that can help in the same is Middleware’s Project Overview. It systematically gave the reason for my spills and overcommitment in a sprint, and can help give an overview of your Jira Boards and Projects.

4. Gauge, Grapple and Give-up (not totally)

Friction in the building process goes far beyond decision-fatigues. You fail at something for long enough and you are likely to not want to do that thing anymore.

It's wise to gauge the problem, allocate a time-duration, and wrestle with the problem with all your might. But when you know that it’s time-up, ask for help.

You need to make a voluntary decision to make the problem smaller than your hands, or add more hands to it.

There’s nothing wrong with an extra set of limbs, or brains. Homo erectus showed the first signs of ordered-socialization within communities, and then came homo sapiens with their big-brains of computation. Companionship precedes cognition, at least within evolution.

5. Conclusion

We as developers often forget how human we are, I mean we are running services that cater to millions of humans.

Who are we, but gods on keyboards?

But, something as little as a missed breakfast can affect our productivity, and something as big as a system-failure can drive us to work harder. We are complex machines with simple values.

As a developer who would rather write a script for an hour, rather than clicking 4 buttons in 4 seconds, I can vouch, it’s always wise to fix a process rather than the absolute problem. Fix habitual actions, and you fix procrastination.

Comments 49 total

  • Samad Yar Khan
    Samad Yar KhanJul 5, 2024

    After 30mins of coding, I often find myself in on reddit. Engineering is a super challenging job at times, your brains finds ways to put in the least effort. This article is super helpful 🙌🙌🙌. Glad I am not the only one

  • Jayant Bhawal
    Jayant BhawalJul 5, 2024

    I'm not an early stage Dev anymore... So why does this still feel relatable? 😅😅

    • Eshaan
      EshaanJul 7, 2024

      We are humans before developers, haha!

  • Shivam Chhuneja
    Shivam ChhunejaJul 5, 2024

    I've recently jumped into ML and projects that are relatively code heavy and this fits spot on lol...a lot of things are like a rabbit hole in tech🤣

    • Eshaan
      EshaanJul 7, 2024

      Haha, glad you found it relatable! All the best for your endeavours!

  • RobertLassiter
    RobertLassiterJul 6, 2024

    This article applies to so many things in life, not just code development. It’s always nice to learn from the perspectives of others. Thank you.

    • Eshaan
      EshaanJul 7, 2024

      Thanks! Glad you found it relatable beyond just coding. Appreciate it!

    • Eshaan
      EshaanJul 10, 2024

      It feels amazing that I was able to speak the hearts out for so many developers, glad it helped!

  • Kris Thom White
    Kris Thom WhiteJul 6, 2024

    There’s also the “no matter which task I’m working on, I’m stressing thinking of the other 10 tasks I’m not working on” problem.

    • Eshaan
      EshaanJul 7, 2024

      Of course, THAT! The angst that comes with switching tasks and having a multi-threaded computer in your own brain definitely affects my productivity.

      Even though I created To-do lists, if I don't sort that list by priority, I fall into the anxiety-trap of "did i finish that?"

  • Ofek Shilon
    Ofek ShilonJul 6, 2024

    Thank you for this.

    • Eshaan
      EshaanJul 7, 2024

      Glad you liked it!

  • Johannes Millan
    Johannes MillanJul 6, 2024

    What helps me quite a lot every day is the to-do app I wrote:
    github.com/johannesjo/super-produc...

    It helps me to break down tasks into smaller bits and it helps me to stay focused. And if I'm struggling it helps me understand why this might be the case

    • Hridoy Mozumder
      Hridoy MozumderJul 7, 2024

      This is awesome. Thank you for this awesome tool.

    • Marc LP
      Marc LPJul 10, 2024

      Wow this is an excellent tool ! Great work!

    • Esteban Krauwezuk
      Esteban KrauwezukSep 21, 2024

      I don't remember how I found your app, but I have been using it since I started working, 5 years ago. Thank you.

    • salman
      salmanOct 2, 2024

      I wasn’t aware of this app before, but I’ve been searching for something like this for a long time. I’m genuinely shocked—I never imagined I’d find such a productive tool through a random blog post. Thank you so much for your effort in creating and sharing it here. The ideas and features you’ve built into the app are truly unique and impressive, and having both web and mobile versions is fantastic. It’s really a great initiative!

  • Amrin
    AmrinJul 7, 2024

    Thanks for writing this.
    Somedays I get bored and delay the task then I realize I just have to break the task into doable parts.
    That way I convince myself to start the work and eventually finish it.
    I point I am taking away from this article is "practice on monkey type start the flow"

    • Eshaan
      EshaanJul 7, 2024

      Exactly! We just feel uneasy about what we can't understand. Make them bite-sized and it's easy to consume.

      And yes, monkey-type just worked like a charm for me. Hope it does for you too!

  • Stanley Awuzie
    Stanley AwuzieJul 7, 2024

    It was all about my intuition, I faced many challenges in a lot of ways, but in all I saw it as a process.
    And it was hard to rely on anyone.
    I just know it was something extraordinary. Thank to everyone that makes it possible.

  • Jayant Bhawal
    Jayant BhawalJul 8, 2024

    Image description

    This is a GREAT damn gif for this section. 🤣

  • Martin Baun
    Martin BaunJul 8, 2024

    Great post! The only thing that has ever worked for me is to trick myself into doing the thing I need to do, haha :)

    • Eshaan
      EshaanJul 18, 2024

      It's okay to reward yourself for your tasks, we are wired that way! If your tasks don't provide you with enough rewarding feeling, manufacture them by eating a brownie, haha!

  • Mohammad Mahdi Bahrami
    Mohammad Mahdi BahramiJul 8, 2024

    Hey bro! Cool & useful post. I'm gonna test it tomorrow when I go to work. Tnx

    • Eshaan
      EshaanJul 8, 2024

      Haha, glad to know!

  • Aqib Shakil
    Aqib ShakilJul 8, 2024

    Amazing very useful🕺

    • Eshaan
      EshaanJul 10, 2024

      Glad to know that it helped!

  • András Tóth
    András TóthJul 9, 2024

    I am afraid to mention the elephant in the room, which is neurodiversity. I do believe that it is the rarity to be entirely neurotypical and be an excellent developer at the same time. The reason is the ability to hyperfocus: in this deep flow we are "one with the problem".

    But it has terrible side-effects: hyperfocus is its own animal, it decides what to chase and not you. You can have many tricks to make it happen more often, like you can make a cat chase a fast moving object. But in reality, if you find something boring, tedious, then you can only rely on executive function.

    Now in many spectrum disorders (autism, ADHD and friends) executive function is the weakest link. There are also emotional states that mimic attention problems, namely anxiety and depression. If you don't feel well, then, well... you will find yourself in one of these platforms, whom, by the way, make a ton of money from procrastinators and whom have many many years of work to tweak their algorithm to be very effective in prolonging time being spent there.

    Therefore I highly suggest that getting familiar what the heck are the symptoms of anxiety, depression, autism, ADHD, bipolar disorder and so on. In case you have none of them you will still understand and appreciate many of your colleagues (like I finally understand the ex-colleague who could speak hours about his adventures in Shadow Warrior; not realizing that most of us have left the room).

    Also I find it eery that much of the tricks and tips for performance seem to match exactly the tricks to overcome some effects of ADHD.

    • Jayant Bhawal
      Jayant BhawalJul 17, 2024

      Thank you to writing that. :)
      There are MANY folks that have no idea they are neurodiverse simply because they live among people who haven't been exposed to the idea of neurodiversity.

      Since you clearly seem aware and interested in this subject, perhaps you could share a link or write something about identifying certain common signs, or something like that.

  • Suvesh K
    Suvesh KJul 9, 2024

    I will read this blog tomorrow for sure👍

    • Eshaan
      EshaanJul 10, 2024

      Haha! Reminding you just in case.

  • Michael Atolwa
    Michael AtolwaJul 9, 2024

    This article has really explained a lot about what I've been experiencing on a project I'm working on. You're God- sent 🙌🙌🙌

    • Eshaan
      EshaanJul 10, 2024

      It feels amazing that I was able to speak the hearts out for so many developers, glad it helped!

  • Ibrahim Bah
    Ibrahim BahJul 10, 2024

    After diving deep into code for 30 minutes, I often find myself on Reddit. Engineering is a thrilling challenge, and sometimes our minds crave a break. This article has been a game-changer! It's comforting to know others experience the same!"

    • Jayant Bhawal
      Jayant BhawalJul 17, 2024

      We tend to use the foosball table at our office for that. I think moving away from the screen for a bit helps a lot!

  • Mr. Mayank Arora
    Mr. Mayank AroraJul 10, 2024

    Keep writing, you are doing good.

    • Eshaan
      EshaanJul 18, 2024

      It feels good that people like you are appreciating this, thanks!

  • АнонимJul 10, 2024

    [hidden by post author]

  • Jam Straw
    Jam StrawJul 11, 2024

    It's always good to learn from others' perspectives. This article applies to many aspects of life, not just code development. Thank you.

    • Eshaan
      EshaanJul 16, 2024

      Totally agreed, happy that you found it inspiring enough. Thanks!

  • Sidali Assoul
    Sidali AssoulJul 12, 2024

    Great article!
    Totally can relate to opening monkeytype to hit my first 80 wpm in the day.
    was doing that from a while got my typing speed increased from 45-50 to 80-85 wpm.

    That really help to get in the mood, before starting any kind of work.

    • Eshaan
      EshaanJul 16, 2024

      Haha, great to know someone else also found monkeytype more than just game for developers!

  • Kat
    KatJul 12, 2024

    Great read, a good breakdown of a familiar issue and some great suggestions to tackle it! :)

    • Eshaan
      EshaanJul 16, 2024

      It's weirdly comforting to know that so many people share the same reality, glad to know you liked it!

  • Gracious Kingsley
    Gracious KingsleyJul 14, 2024

    Straight and inspiring 💯

    • Eshaan
      EshaanJul 16, 2024

      Good to know it's reaching the right audience, thanks!

  • Dev Advait
    Dev AdvaitJul 18, 2024

    Well as i newbie dev, trying to learn, build and apply(for jobs), how the hell should i do it?
    I learned a stack, but have no idea what to do after it.

  • saint
    saintSep 10, 2024
Add comment