So here you are once again, procrastinating your time... but not to worry, this article intends to help you get better at getting things done!
If you are passionate about programming you've probably started a side project by now, first you have an idea, it can go from building the next big thing to just building a simple to-do list, it doesn't matter. You start really excited and throw in some code until a few days later it all falls apart, you've lost all interest or enthusiasm.
Happens to me all the time, here are some tips I've encountered that have helped me stick with my side projects until they're done!
Satisfaction
There are lots of reasons why people abandon projects, one of them is not feeling satisfied, feeling satisfied with a project is a big factor in whether or not you'll stick with it.
Of course, not every minute will be satisfying, but if the project itself is not satisfying, you might want to reflect on that for a bit, perhaps find a way to address that or perhaps move on to something that might be more satisfying for you.
If the project was satisfying before, try to find what changed. You can encourage yourself to feel more satisfied by reflecting on how much you've improved on a project, that can be very uplifting.
Realistic Goals
When starting a new project you set yourself a simple goal, once you progress towards that goal it starts to get more complicated, this is often when things start to feel unsatisfying.
You start to feel like you're not progressing anymore, coming up with unrealistic goals is really easy.
How do we deal with that?
Automaticity
Automaticity is the ability to do things without occupying the mind with the low-level details required, allowing it to become an automatic response pattern or habit.
With this in mind, forming habits that become automatic is one of the ways in which you can improve your productivity, perhaps not writing code but starting up your development environment as soon as you power your computer on, that may encourage you to continue working on your project.
When to work?
Most of us think of setting a fixed schedule and sticking with it, but this is an incredibly hard task to accomplish, considering that most of our day is ruled by events, not times.
Think of these events as when you get out of the shower or eat breakfast, these events are more significant than fixed times throughout the day. These events are the times to schedule working on your project.
Planning
Even when knowing you have to work, it can be hard to start doing it, but there's a simple technique you can apply.
Let's say you want to start working out
If I take a shower, I will get my workout clothes on in order to push myself to exercise.
The idea is to get simple tasks into your routine so that the harder tasks get easier.
Now let's say you want to get work done
If I log into my computer, I will open my text editor and project planner in order to get work done.
That way it will be easier to get yourself writing code.
Goals
Be sure that your goals are specific, meaning that they're very clear in what needs to be done. They should be measurable, meaning that it should be clear what's required for it to be workable. Also achievable, meaning that it's something that is not outside the roam of possibility, that it's realistic and relevant, meaning that it's something that you care about.
Some extra advice
Talk to friends in real life -> This can be a really good way to distract yourself for a moment when you are feeling frustrated about a problem you have.
Join friendly online communities -> This can be really helpful when having questions and finding people that can answer them.
Take breaks -> You might come up with the solution to a problem you've been looking for just by lying in bed or making dinner.
Celebrate little victories -> Make sure to celebrate when you accomplish something, no matter how small it is.
Conclusion
Being a software developer is not an easy task, we are constantly facing new problems and dealing with insecurity within our ability to resolve those issues, these tips will help you improve in your ability to get things done and hopefully make you feel confident and prepared for what's to come.
If you enjoyed this article, consider sharing it so more people can benefit from it! Also, feel free to @me on Twitter.