I think people often underestimate the importance of finishing projects. I’ve written this post with programming in mind, but it applies to other areas of life as well.
Finishing your projects is so incredibly important—here’s why.
Boosts motivation
Staying motivated can be a bit of a balancing act. You need to be determined enough to finish your projects, but doing so may be your primary source of motivation.
Leaving projects unfinished can quickly lead to you feeling disappointed in yourself, which is extremely damaging to your self confidence. So by not completing projects you can slip into a vicious cycle. You don’t have the motivation to see it through, which in turn saps your motivation even more.
Gives you something to show your friends
Completing projects gives you something tangible that you can show your friends and family. Not only does it allow you to say “I did that, I built that piece of software,” but it makes it easier for your loved ones to support you.
Programming can be a lonely journey at times, and unless you’re employed as a developer, most people in your daily life likely won’t understand what you’re doing. Once you’re able to give them something tangible like an app or a game that you’ve built, they’ll be able to encourage you much easier.
This is also vital to staying motivated. Even if you’re an introvert like me, you won’t make it without others supporting you at some point.
Adds to your resume
If your goal is to eventually be an employable programmer, you’ll want to have a portfolio to show off what you’re capable of.
Imagine for a moment that you are an employer considering two candidates for a programming job. The first has finished a few small projects, while the other has started many projects, but never really completed any of them. Which one would you choose for a programming job—or any job for that matter?
Be aware that by leaving projects unfinished, you’re not only missing out on a substantial motivation boost, you’re also not making yourself desirable to employers.
Finishing projects shows that you’re self motivated, you’re capable of setting realistic goals, and that you follow through. On the other hand, leaving them unfinished portrays a lack of commitment and an inability to accomplish what you want. Is that what you wish to display for the world to see?
Set yourself up for success
If you understand the importance of finishing, you may be wondering how you can make it easier for yourself. Choosing feasible projects is essential.
If you’ve chosen to learn programming by making games, do not try to build an mmorpg in your first year. Even once you’re a competent programmer, tackling projects at that scale alone is almost certainly a bad idea. It could take years, even with a whole team of skilled developers.
That’s why I strongly recommend starting small.
Defining “finished”
I’ve talked a lot about the importance of finishing projects in this post, but how exactly do I define “finished”?
For me personally, I consider a project finished when it’s in a state in which I could release it publicly. When it comes to games, that means it’s playable, there’s no bugs as far as I can tell, and it feels done. In general, I like to actually release it publicly instead of leaving my hard work on my computer. That way people can see what I’ve accomplished.
Ultimately though, what it means for a project to be finished is for you to decide, and your definition may be different from mine.
To finish this post off, I want to leave you with a great (short) motivational video by Tim Russwick from Game Dev Underground: