Traits of a great side project
Have you ever wondered why there are people who always have a constant drive to "make things"? While you may seem tired and bored of a long day at work, they just can't stand waiting to leave the office in a great mood just to do tons of other stuff.
How are they doing it? Why do they decide to spend their own, precious, free time just in order to work more? I am known to be one of these freaks, and I think there is only one reason we do it… It’s because we choose projects, that we actually care about. If you think those open-source contributions or side projects aren’t for you, let me change your mind. It’s just because you’ve chosen the wrong thing to work on not because the whole idea isn’t for you. I want to inspire you to take another side project by describing “the dream one”. Maybe it will push you to do that first and most important step.
It solves a “real” problem
It sounds trivial, doesn't it? In fact, I find it the most important thing on the list here. The most important fact of doing something (not only a project) is the sense of doing something useful. It may be very small, it may be even unnoticeable to others, but the important thing is that it is helpful to you. Observing that you've made your life easier is always a great motivation. Remember, even the smallest, but real things make a great difference.
You finally can be selfish
It's not work, you don’t need to care about others. You can just ignore testing, documentation, and accessibility. Not everything needs to be pretty, generic and reusable. Some hardcoded constants? Not a problem. It works only on your machine - does somebody even care? Tons of bugs? It’s more important that your three “happy paths” work - that’s what makes it usable for you. It may seem that I like to produce low-quality software, huh? I just believe that side-projects need to start working as soon as possible. If the idea turns you working just fine, you’ll polish them later.
You’re the boss right now
It’s your project, and only you paddle your own canoe. You don’t need to care about what others think. No one can tell you what you should or shouldn’t do. Maybe you’ve always wanted to try some “bleeding’s edge technology”? Maybe you just want to do something silly? Even if everything blows up, nothing bad will happen. This is what makes side projects a great time to experiment.
You can take your time
This is a dealbreaker for me - I just hate deadlines. The fact that I have to deliver something on a particular term just takes away the entire fun of programming for me. That’s why I love doing something only for my personal usage. I don’t need to care about clients, deadlines, terms, and meetings. I can sit down, turn the music on, open my IDE and just code. Maybe not everyone has this kind of “switch”, but I find it chilling.
There are no losers
My latest side project has turned out not to be useful for others at all. There are other more convenient solutions out there which make convincing people to use my tool very hard. Does it make the time I’ve spent on it wasted? For me - absolutely not. I had a great time learning new things which I wouldn’t even touch on a normal daily basis.
As a word of conclusion, “It’s more about the journey, than the destination itself”.
Maybe you’ve come up with some great ideas? Maybe you want to brag about something you did back then in the past? Please, let us know down in the comments below.