Let personal projects be fun instead of a burden
How I failed to finish my project
Like other developers, I love building applications. I spend my free time coding because it is fun. In addition, doing projects is my preferred method to improve my coding skills.
However, while starting a new project is always exciting, finishing one is challenging. I faced many problems in completing my applications.
Many factors can prevent us from finishing a project, including a lack of clear goals or direction, distraction, perfectionism, and so on. In my case, I was frequently distracted in the middle of my projects. Here is what is in my head, in order:
Okay, we start a project. We will build an elegant application. Let's implement a scalable architecture with clean code.
Ah, I have new ideas about it.
I will add this new functionality. It’s cool.
I better use this library rather than the current.
Oh… I should not do this in the first place. It is not what I want. Let’s change the code.
I wasted too much time switching between this and that.
Oh… the project looks like a mess… I cannot continue… I want a cleaner project from the beginning.
And I abandoned my projects many times.
My solution
Last year, I started to write articles on Medium. At first, I wrote non-technical articles. Then, while working on my n-th side projects, I considered writing a tutorial on Medium.
And that idea changed the game.
Because I enjoy posting my content, I have the motivation to finish the project and write articles. My project also has a virtual audience.
The objective became clear. I eliminated all fancy but irrelevant ideas. I made an effort to keep the application as simple as possible. Because if it was complicated, I couldn't explain it in the tutorial. It didn't take me a lot of time to choose a library. I use whatever does the job and is well-documented.
And that how I finish this project.
Use AdminJS to Quickly Build an Administration Web App
We can divide the project into several articles if it does not fit into one. Below are some projects that I finished recently, following the same principle.
Web Crawler with JavaScript- These Easy Steps Help Me Get Medium Articles’ Data
Of curiosity, I analyzed ~180 000 articles on Medium
More advantages
Besides the motivation to finish the project, sharing the result on Medium has additional non-negligible advantages.
Learning — the second time
When I write the tutorial, I think about the audience and find a straightforward way to explain the concept. The process of making things simple helps me better understand my code.
Learning by doing is one of the most effective methods. Now we combine it with explaining and teaching to others. Is it the most powerful combination for learning?
Save it for future
Create a tutorial and post it on Medium or your blog, and you will have it forever. You can consult it anytime in the future when you need it.
A little reward. Why not?
You can monetize your articles if you are a member of the Medium Partner Program. If your content engages readers and offers them value, you will probably receive the deserving reward.
A strong point in your profile
Your articles will give recruiters an additional perspective on your abilities. It is more HR-friendly than the list of technologies we usually include on CVs. In my opinion, a public fingerprint is a strong point in the profile when competing with other candidates.
The productive loop
Finally, we must recognize the positive energy generated when content is published and appreciated by readers. From my experience, the moment I felt most motivated was immediately after I posted one. That energy gives us more motivation to start new research! The loop returns to the beginning point.
Notice
One thing to keep in mind when using the method. You should clearly define the goal of the side projects. If you want to learn something new, do not fall back on old ideas simply because your articles in the categories have a lot of views. Publishing the result on Medium is a step in the process for me. I don’t let it take my attention away from the initial objective.
Conclusion
In this article, I explain the simple method to finish my applications. For readers who face the same problem, I hope the article could give you ideas to complete your side projects. Thank you for reading!
More content at **PlainEnglish.io. Sign up for our **free weekly newsletter. Follow us on **Twitter, ***LinkedIn, **YouTube, and **Discord.*
**Interested in scaling your software startup? Check out **Circuit.
Top comments (0)