Let’s understand what this word even means before we dive into fighting it as a vice. I googled it and this meaning came up — “the action of delaying or postponing something”. Google’s description is entirely accurate. In more literal terms, it is that voice that pops up inside your head, whenever there is something super important for you to do and boldly tells you — “Not now, later is just fine”. Whenever you want to do something that is most likely very rewarding but “something”, tells you that you can do it later, you’re procrastinating.
So why do we procrastinate? Let's take a look at some of the reasons.
1. What you’re doing isn’t at all interesting.
This is probably the most common reason as to why we tend to procrastinate about some of the tasks that are usually most rewarding. It is quite absurd when you internalise that. The tasks we procrastinate about the most are, more often than not, the most rewarding. They are usually tasks that solve some of the biggest problems but we are less interested nonetheless. Ever stop and wonder why this is like that?
Well, this happens because when you try to achieve very huge milestones in one go, you tend to forget that what you are looking to accomplish is a huge task that requires you to have a VERY high level of motivation than we ordinarily have. Because our brains, according to BJ Fogg, a behavioural scientist at Stanford University, are more motivated by instant rewards for our work than delayed rewards. We, subconsciously, consider instant rewards more gratifying than delayed ones.
Think about this from the time you started your coding career. Remember how you started out? All you thought was that you would start coding and in a couple of weeks, you’d be able to deploy a kickass application that would change the world and have millions of users. Little did you know that this could take you months or more to accomplish. What happened when you started coding? You started to, intrinsically, create small milestones like “If I can be able to build a beautiful user interface in HTML and CSS, I’ll have made significant progress”. And boom, now you’re a kickass world-class software developer.
Well, I’ve already hinted on how you can motivate yourself if this is why you’re procrastinating but in more detail, break down the task into more minute, achievable milestones. If you don’t know how to, talk to mentors, friends and any developers who have, possibly, executed a similar task to help you prioritize your time.
Now that you’re finished with that and you clearly know what smaller tasks can effectively build up to the bigger goal, attach a reward to each of them. What kind of reward? Make it something that’s easily within reach (for you), and after completing each small task, reward yourself.
Why should you reward yourself? Well, if you noticed, I kept hinting on instant gratification and this reward is exactly that. It is that smaller win that your brain, subconsciously works toward getting. This introduces the concept of “Trigger -> Task -> Celebration”.
The trigger, in this case, is the task that you have to do. Why is that so? The moment you create small INSTANT rewards for each task, your brain instinctively starts to do whatever it takes to achieve that reward and all there is to do is that task, which triggers an action. The action is the actual work you put in to accomplish this task and then finally the celebration. The celebration is that reward that you promised yourself after this task is finished.
That small celebration should be something really small like a favourite snack, a cup of coffee, video game or even something as trivial as chewing gum.
2. We are scared of failing.
Another reason for procrastination is that we are constantly scared of failing, so much that we don’t want to start doing anything that has even a little shade of failure. The instant we see a sprinkle of failure, our energy is immediately beaten down and we are much less motivated to do it, which pushes to “not now, later is good enough”.
As a software engineer, reminisce on the day when you wrote your first line of code. Look how far you’ve come, how many falls you’ve had to endure and come back up from. Do you think you’d come this far without a few of those failures? Certainly not. The secret to failing successfully is failing fast and getting back up even faster.
I’ll admit, failure is scary because we know that it, sometimes, comes with consequences that we feel could have been avoided by simply “not failing”. What we don’t remember, though, is the fact that the only justification for failure is a lesson learnt and another trial so you need to allow yourself to fail and think about it as a learning point rather than a wasted attempt.
A simple secret, “fail fast” is an unofficial rule that startups in Silicon Valley live by.
3. We don’t even know where to begin.
Sometimes, we are genuinely oblivious as to what is required to execute our tasks to completion. As such, we have a reason not to deliver on this task. Additionally, we all have the same number of hours in the day - productivity habits can help us determine how to plan our time and use these hours most efficiently.
As software engineers, we’re constantly facing new challenges, new problems that need new solutions or sometimes some require us to reuse previous “genius” engineers’ solutions but we don’t even know where to find these.
If this state of oblivion is the cause for your procrastination, then look for mentors, fellow engineers or more experienced developers to give you better insight on how to approach this task and break it down faster, easier and more efficiently get a starting point so that you can do away with the procrastination and get down to work.
We’ve explored this vice and I trust we know why we procrastinate and how we can keep ourselves motivated, not scared of
So the next big question is, why should we even fight it? Well, the simple answer is, your productivity is directly tied to how fast you deliver tasks. If you take a week to deliver a task that could have taken somebody of your skill level, two days, you are effectively being very unproductive and this has obvious negative consequences to both the company, in terms of revenue, as well as your job(I guess we all know how bad things could go in this regard 🤭).
One other reason you should consider not stalling that huge task is that, as a world-class software developer, all your work is directed toward solving problems and so the longer you take without solving these problems, the longer they exist and this considerably invalidates the reason you even took on this career(irrespective of what pushed you to join software development as a career, one thing remains true, you MUST solve a problem).
I hope we fight procrastination better as we reward ourselves, welcome failure better and seek all the clarity we need even in the most uncertain of situations.