Side projects are usually meant to distract us from our daily work, give us the chance to try out new technologies, have some fun, implement a solution for a small need (i.e. turn on lights by triggering a webhook π‘).
I love working on side projects but I am just as bad finishing them π
Why?
Let's see some of the reasons why a side project never sees the finish line.
The idea is too 'wide'
This is the most common scenario. You start out by thinking you can build the next e-commerce solution for fresh vegetables. You ask a few of your friends if they would use it and suddenly you are their new god, waiting to save them from all the packaged madness!
And you have no idea on where to start Β―\_(γ)_/Β―β
Should you build an admin panel?
How would the users interact?
Don't you need authentication?
What about transactions?
All these concerns and more overwhelms you, so another side project is left unfinished π¬
Not having a plan
Having a great idea is one thing but planning on how you are going to implement it is more important. It's extremely rare (well, impossible actually) to just sit in front of the computer, start shooting code and make your idea a real application.
Not having a schedule
We don't go to our work any time we want. Why working a side project should be different?
Trying to be perfect
When we are the manager of our project we tend to set very high standards of code quality and tools that we use. I've often fallen a victim of wasting time reading about configuring tools instead of working towards my goal, finish my project!
Not having a reward
Working on a side project usually doesn't include getting paid for it or getting any immediate public recognition.
Now, that doesn't mean that side projects are always doomed. There are a few tips that we can do to help us finish our side project.
Tips
Set a small goal
This is the most important tip suggested by my good friend and colleague. Going for the next Facebook is not feasible. Try for something smaller instead, maybe a function that capitalizes words in an array or a logger extension for the browser. Even if you have a large project idea, try to break it down to very small projects.
The key thing here is that when you build something small it provides a sense of achievement quicker than building a bigger project.
Plan things
Investing some time in the very beginning is crucial. Resist the urge to develop like a commando and try to think more like an architect π
Publish it!
They say that when you release a product you should be a bit ashamed for it.
And this is so true! There are always things to improve no matter the quality of the project. Stop wasting time perfecting things and release π
Set time constraints
Working 1 hour every two weeks might not be the best idea. Try to introduce some consistent scheduling on how often you are going to work your idea.
Is it too much? Maybe you should split it to smaller tasks/projects (remember the first tip π)
Simplify things
Try not to over-engineer simple tasks. Focus on finishing the task and releasing it. All the cool things about auto delivery/shipping-to-moon/you-name-it can come after that π¬
Conclusion
To sum up, next time you have a cool side project idea try to:
- Set small goal(s)
- Plan things
- Stick on a regular schedule
- Keep it simple stupid (-> KISS)
Good luck π₯³
This story was originally published in my blog at https://dunno-blog.now.sh/side-projects/
Top comments (0)