Procrastination and perfectionism

I think we can all agree that procrastination and perfectionism are the things that most developers struggle with. Here are five simple steps that helped me.

Here are five proven ways to help with procrastination and help to consistently deliver stuff despite perfectionism

Quickly prototype then refine as needed

Allow yourself the freedom to write dirty code before you clean it up, setup a continuous delivery system where the code gets shipped as soon as you commit and the tests are passing. This will help you to not gold plate stuff.

When I say “shipped”, i mean put somewhere where other people can see it. Of course you’d want to actually deliver the best code you can.

TDD / BDD are awesome tools here. If your code is doing what it should, show it to your team or your client. This will boost your desire to do more.

Here’s a youtube video I found that sums up some of the stuff

Good tips by the way.

Build a successful daily routine that sticks

Routines are awesome because they liberate your thinking. One thing i’ve noticed as a person with ADHD it’s hard to make a habit stick. On my quest to overcoming procrastination i’ve found that it really helped me to follow these steps (preferably in this sequence)

Do something ridiculously small like work on a task for 10 minutes a day

Once you can do that repeat this for a few days – I’d usually keep it up for a week or so, more on that below.

Once you can do that consistently put a start time around it. Like i’ll put in my 10 minutes at 9 am. This helps to condition you to deliver consistently

Again repeat this for a while

Repeat increasing the time

I found that the gradual progress from just doing a tiny bit to finally doing the tiny bit at a particular time to doing more really helped to make progress quickly

The tiny mini goals strategy may seem silly but that’s the whole idea. If stuff is easy you’re likely to do it. Also, because it’s so small you don’t feel bad if you slip up.

I found that the bigger the perceived mess up the harder it is to get up. Again, this is perfectionism at it’s finest.

Feel empowered by being proactive vs reactive

Perhaps the most empowering thing for overcoming procrastination is to be proactive vs reactive – plan your day and work the plan as much as possible. As developers we’re often spending hours putting out fires and reacting to stuff around us. I find that if I get sidetracked it’s really hard to get back to the key things that matter. Lets face it the only thing that benefits from being reactive is Javascript.

I plan to make an entry about planning :p

Keep track of your progress and your routine

It’s super important to keep track of your routine, especially if you don’t follow it. I found that acknowledging and coming to terms with the slip up helped me not to do it again. I’d feel more in control.

There’s a million todo tracking tools out there, I usually use a spreadsheet.

Communicate

This one was a hard one for me, and sometimes still is. When you slip up, tell the people that depend on you. It’s really difficult, but i you do, your self esteem won’t suffer as much. You might be a procrastinator, but you won’t feel like a liar / imposter.

Imposter syndrome is something we’ll talk about more.

Special thanks

I’d Greg Baugues (baugues.com) Greg is a developer advocate and speaker who spoke about mental health issues in the developer community. This talk got me to finally seek help for my ADHD