Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Skill Up: A Software Developer's Guide to Life and Career

You're reading from   Skill Up: A Software Developer's Guide to Life and Career 65 steps to becoming a better developer

Arrow left icon
Product type Paperback
Published in Jul 2017
Publisher
ISBN-13 9781787287037
Length 302 pages
Edition 1st Edition
Concepts
Arrow right icon
Author (1):
Arrow left icon
Jordan Hudgens Jordan Hudgens
Author Profile Icon Jordan Hudgens
Jordan Hudgens
Arrow right icon
View More author details
Toc

Table of Contents (5) Chapters Close

Preface I. Coder Skills FREE CHAPTER II. Freelancer Skills III. Career Skills Index

Chapter 15. A Developer's Guide for Hacking Procrastination to Achieve Success

There you are. Sitting in front of your computer. Staring at a blank screen. You know you have to work on a code project, but it feels like you're frozen. The task before you is so intimidating that you don't even know where you begin. It feels as if you'd rather be doing anything else in the world besides that task that's staring you in the face.

This scenario is the ugly and all-too-common face of procrastination that programmers are forced to fight constantly. If this situation sounds familiar, you're in good company. But if you want to become a professional developer, you'll need to implement a system for hacking procrastination. And that's what we're going to walk through in this chapter.

As the lead instructor for DevCamp I get asked questions from students from around the world. However, one of the most prevalent inquiries I get from aspiring coders is how to overcome procrastination.

Root causes of procrastination

Before we walk through a system for hacking procrastination, we first need to dive into the root causes for this negative habit. Everyone is unique, but over the years I've seen procrastination is typically caused by three thought patterns:

  • Perfectionism
  • Fear of success
  • Lack of planning

To overcome procrastination and get back on track we'll need to address each one of these issues. Because if you let any of these mindsets control the way your mind operates, you will never be able to reach your potential.

Hacking procrastination

I called this chapter hacking procrastination because I think that hacking is the most appropriate term for what needs to happen to achieve success. Developers hack applications to build features or fix bugs. In the same way, we need to hack our thought patterns so that our brains function properly.

Before we go through the system I want to make one concept clear. As humans, we were made for action. Procrastination is a negative habit that we've learned through fear-driven thought patterns. To be successful at anything in life, whether it's development or business, overcoming procrastination is a requirement.

Hacking perfectionism

Starting off the list of the causes for procrastination is perfectionism. Have you ever watched a baby trying to stand up for the first time? Babies, who haven't learned that failure is a bad thing, will spend countless hours trying to stand up.

Each time they fall down it doesn't seem to faze them in the slightest. But you won't find a baby that lets perfectionism get in the way of achieving their goal. Instead, they will keep trying until they can stand up and eventually walk by themselves.

However, somewhere between the time that we're babies and adults we develop the thought pattern that we're not supposed to fail. So instead of trying and failing until we succeed, we simply try to only perform tasks that we know we can do properly. To hack perfectionism, we have to remove the component in our brain that is afraid of failing.

If you are a developer learning how to build a new feature that you've never worked through before? Let me clear something up. You are going to do it wrong the first time!

And that's 100% fine. If you think that by waiting you are magically going to learn how to perform the task perfectly, you are sadly mistaken. So, step one is: embrace failure and remove the requirement of perfectionism.

Hacking the fear of success

Next on the list is hacking the fear of success. If you're overcome the trap of perfectionism, congratulations. However, I've seen just as many developers get stuck due to the fear of success as the fear of failure.

This concept may seem odd since success doesn't seem like something that you should be scared of. However, I remember when I was first learning development. When I was walking through a coding book I would get so excited when I discovered a new concept. However, then I would freeze. My mind's first response was:

"If you learn this, then what are you going to do?"

For example, when I first learned how to build a connection to a database, I put the book down and didn't pick it up until weeks later. By learning the database concept, it opened up a new and scary new world of all of the new topics I had to learn after that. All of a sudden, I had to understand:

  • SQL queries
  • How to build relationships between database tables
  • SQL injection requirements
  • And the list seemingly went on infinitely in my mind

To hack the fear of success, we need to quieten our minds. The fear of success is really rooted in the fear of the unknown. So, whenever you're feeling this fear, simply take a step back. Be happy that you have learned a new topic. And then move onto the next feature or topic.

Don't let your mind run wild with all of the potential, unknown concepts that you'll need to learn in the future. Like learning anything else, you need to take it one step at a time.

Hacking the plan

Last on the list for hacking procrastination is creating a practical plan. When I recognize that I'm procrastinating I now tell myself to look at my plan of attack. Usually I'll discover that my plan is too general.

For example, if I'm building a payroll application, I may have an item on my to-do list that says: Build reporting engine. That's a scary feature! That's the type of item that will stick on my to-do list for weeks without me taking any action.

To fix this, I've learned that if I break the requirement into a series of very small tasks I can break the cycle of procrastination. For the reporting engine feature I can create a series of much smaller, more manageable tasks, such as:

  • Create a page for users to access reports
  • Implement a database query for pulling the reports from the database
  • Build a file downloader for reports

When I break a large and scary feature down into small pieces, I instantly feel better. The feature is no longer scary and I no longer feel like putting it off until tomorrow. Instead, I am able to simply follow a set of small tasks each day until the feature is complete.

Hacking perfectionism

Starting off the list of the causes for procrastination is perfectionism. Have you ever watched a baby trying to stand up for the first time? Babies, who haven't learned that failure is a bad thing, will spend countless hours trying to stand up.

Each time they fall down it doesn't seem to faze them in the slightest. But you won't find a baby that lets perfectionism get in the way of achieving their goal. Instead, they will keep trying until they can stand up and eventually walk by themselves.

However, somewhere between the time that we're babies and adults we develop the thought pattern that we're not supposed to fail. So instead of trying and failing until we succeed, we simply try to only perform tasks that we know we can do properly. To hack perfectionism, we have to remove the component in our brain that is afraid of failing.

If you are a developer learning how to build a new feature that you've never worked through before? Let me clear something up. You are going to do it wrong the first time!

And that's 100% fine. If you think that by waiting you are magically going to learn how to perform the task perfectly, you are sadly mistaken. So, step one is: embrace failure and remove the requirement of perfectionism.

Hacking the fear of success

Next on the list is hacking the fear of success. If you're overcome the trap of perfectionism, congratulations. However, I've seen just as many developers get stuck due to the fear of success as the fear of failure.

This concept may seem odd since success doesn't seem like something that you should be scared of. However, I remember when I was first learning development. When I was walking through a coding book I would get so excited when I discovered a new concept. However, then I would freeze. My mind's first response was:

"If you learn this, then what are you going to do?"

For example, when I first learned how to build a connection to a database, I put the book down and didn't pick it up until weeks later. By learning the database concept, it opened up a new and scary new world of all of the new topics I had to learn after that. All of a sudden, I had to understand:

  • SQL queries
  • How to build relationships between database tables
  • SQL injection requirements
  • And the list seemingly went on infinitely in my mind

To hack the fear of success, we need to quieten our minds. The fear of success is really rooted in the fear of the unknown. So, whenever you're feeling this fear, simply take a step back. Be happy that you have learned a new topic. And then move onto the next feature or topic.

Don't let your mind run wild with all of the potential, unknown concepts that you'll need to learn in the future. Like learning anything else, you need to take it one step at a time.

Hacking the plan

Last on the list for hacking procrastination is creating a practical plan. When I recognize that I'm procrastinating I now tell myself to look at my plan of attack. Usually I'll discover that my plan is too general.

For example, if I'm building a payroll application, I may have an item on my to-do list that says: Build reporting engine. That's a scary feature! That's the type of item that will stick on my to-do list for weeks without me taking any action.

To fix this, I've learned that if I break the requirement into a series of very small tasks I can break the cycle of procrastination. For the reporting engine feature I can create a series of much smaller, more manageable tasks, such as:

  • Create a page for users to access reports
  • Implement a database query for pulling the reports from the database
  • Build a file downloader for reports

When I break a large and scary feature down into small pieces, I instantly feel better. The feature is no longer scary and I no longer feel like putting it off until tomorrow. Instead, I am able to simply follow a set of small tasks each day until the feature is complete.

Hacking the fear of success

Next on the list is hacking the fear of success. If you're overcome the trap of perfectionism, congratulations. However, I've seen just as many developers get stuck due to the fear of success as the fear of failure.

This concept may seem odd since success doesn't seem like something that you should be scared of. However, I remember when I was first learning development. When I was walking through a coding book I would get so excited when I discovered a new concept. However, then I would freeze. My mind's first response was:

"If you learn this, then what are you going to do?"

For example, when I first learned how to build a connection to a database, I put the book down and didn't pick it up until weeks later. By learning the database concept, it opened up a new and scary new world of all of the new topics I had to learn after that. All of a sudden, I had to understand:

  • SQL queries
  • How to build relationships between database tables
  • SQL injection requirements
  • And the list seemingly went on infinitely in my mind

To hack the fear of success, we need to quieten our minds. The fear of success is really rooted in the fear of the unknown. So, whenever you're feeling this fear, simply take a step back. Be happy that you have learned a new topic. And then move onto the next feature or topic.

Don't let your mind run wild with all of the potential, unknown concepts that you'll need to learn in the future. Like learning anything else, you need to take it one step at a time.

Hacking the plan

Last on the list for hacking procrastination is creating a practical plan. When I recognize that I'm procrastinating I now tell myself to look at my plan of attack. Usually I'll discover that my plan is too general.

For example, if I'm building a payroll application, I may have an item on my to-do list that says: Build reporting engine. That's a scary feature! That's the type of item that will stick on my to-do list for weeks without me taking any action.

To fix this, I've learned that if I break the requirement into a series of very small tasks I can break the cycle of procrastination. For the reporting engine feature I can create a series of much smaller, more manageable tasks, such as:

  • Create a page for users to access reports
  • Implement a database query for pulling the reports from the database
  • Build a file downloader for reports

When I break a large and scary feature down into small pieces, I instantly feel better. The feature is no longer scary and I no longer feel like putting it off until tomorrow. Instead, I am able to simply follow a set of small tasks each day until the feature is complete.

Hacking the plan

Last on the list for hacking procrastination is creating a practical plan. When I recognize that I'm procrastinating I now tell myself to look at my plan of attack. Usually I'll discover that my plan is too general.

For example, if I'm building a payroll application, I may have an item on my to-do list that says: Build reporting engine. That's a scary feature! That's the type of item that will stick on my to-do list for weeks without me taking any action.

To fix this, I've learned that if I break the requirement into a series of very small tasks I can break the cycle of procrastination. For the reporting engine feature I can create a series of much smaller, more manageable tasks, such as:

  • Create a page for users to access reports
  • Implement a database query for pulling the reports from the database
  • Build a file downloader for reports

When I break a large and scary feature down into small pieces, I instantly feel better. The feature is no longer scary and I no longer feel like putting it off until tomorrow. Instead, I am able to simply follow a set of small tasks each day until the feature is complete.

Summary

I hope that this has been a helpful guide for helping you break the cycle of procrastination in your own projects and that you will be able to use it to become a more effective developer. I'll leave you with a quote from the book The Five Elements of Effective Thinking by Edward B. Burger and Michael Starbird:

"Being willing to fail is a liberating attribute of transformative thinking."

So, put yourself out there, create a practical plan, and stop procrastinating and start coding!

You have been reading a chapter from
Skill Up: A Software Developer's Guide to Life and Career
Published in: Jul 2017
Publisher:
ISBN-13: 9781787287037
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime