While lots of people find it arduous to jump in and start a project, I'm (usually) not one of them. I have my moments where it's hard to get up and just do something without falling in an endless void of procrastination. But most of the time it's easy to start a project and be enthusiastic about it. Sometimes I work for days and days on something until one day I don't. My Github is proof of it.
I may get lazy or I may just find something else to work on. But usually I just lose interest on what I'm working and the problem I am solving until I start to think that what I was doing was useless and a waste of time anyway. Until a new idea comes along and the cycle starts anew.
I'm not going to lie, more often than not my ideas are bad and not worth pursuing for a long time. Usually, I figure out their uselessness in time to drop them. There are also times when I'm working on a project just to learn some new language or framework, and the rush of using a new technology wears off rather quickly. Which is fine unless I want to polish my skills in the aforementioned newly-learned technology.
Some time ago I read an excellent article called The Important Habit of Just Starting which talked about procrastination and how it's something we do even though we know full well that it will have long-term cost that it would lead to higher rates of depression, anxiety and overall poorer well-being in the future. The author made the argument that our brain has the tendency to value immediate rewards more highly than future ones, coupled with the countless distractions that surround us, makes it very hard for most to overcome the internal struggle with procrastination and start working on what we really want.
The solution that the article suggests is to 'just start'. It's based on the fact that the guilt and frustration of not doing the work that you should be doing is very often far worse than the pain of doing work.
But as previously established, the problem for a lot of people is not starting a project. That's often a very rewarding and pleasant experience. It's the actual process of finishing a job that is hard. In fact, it's far easier to 'just start' another project than finish the one you are currently working on. Sometimes taking far more time working on the newest project than it would have taken finishing the previous one.
It's quite clear that starting new projects is a form of procrastination in and on itself. It's something we do in order to gain instant gratification in exchange for long-term cost. It comes both from our brain's inclination towards instant gratification and as a result of living in a very connected world, which in turn allows you to develop new ideas almost every day.
One of the main reasons that makes me lose interest in an idea is the need and obsession with making it perfect. Truth is, it never will be. Nothing is ever perfect. Whether it be writing, programming, or any other form of creative achievement, it's very hard for the creator to be fully satisfied with their creation.
It's true that the road to Carnegie Hall is paved with practice, and that only through practice can one achieve greatness. But practice is simply preparation. You can be prepared to create something great, but that does not mean that you are ready to release it to the world. So it's far better to finish something imperfect than never let the world see something that could never have been perfect to begin with.
Unfortunately there's no easy way to defeat procrastination. Finishing a project is an art in itself. It's a very important skill that very few people possess (if any). The habit of 'just starting' should be applied also to ‘just finish' a project.
It's far more dangerous to never finish a work than to never start it. It makes you think that you are not procrastinating, makes it easier to justify it by rationalizing to yourself that you are still working, just that you are working on something else.
Just finish what you are working on. It's that simple.