Friday, October 10, 2014

Hobbyist developer: How do side projects end

This is one of the most important things that folks tend to forget. You should always know the possibilities with your side project.  In my opinion, there has to be an out standing pipeline of projects. You should also know the priority of each of these. Also keeping the status as well as priority in your mind is pretty difficult. It is especially difficult if you have a demanding day job. and almost impossible if you are a middle-aging developer like me.
 
Discarded-Aborted-Saved-Shared
  This is the bucket most of the hobbyist projects end up in. Many reasons for that happening. But the major ones are that the developer is no more interested or the project is no more relevant. I thing there is nothing wrong in putting projects in discarded bucket. You should not take this as a failure that you are either discarding or suspending your side project. The generic idea is that very few ideas actually succeed. So it is definitely a win to have started. But once you realize things are not coming together, there is not point hanging on to an idea. The theme is that you should be generating and throwing away ideas very quickly.
 
You should be really cut throat about culling the old projects. This is how new and more exciting and more fruitful projects can be started. Working on the idea is not only the measurement of your will power but of the validity of the nascent idea itself.
 
One thing that I am trying to change at this point though is the way I let go of a project. I have not been very good at this aspect. When ever you decide to move on, you just need to spend a bit more time and get it in a shape where it is as useful as possible. This means that at the least, you should have it checked in to your private repository. If the idea is applicable, you should share it with the relevant folks.You can blog about the idea if it is globally applicable. And of course the most ideal way to let go of a project is the share the idea as well as the code as widely as possible.
Definitely there are limitations to this, which will reduce the extent of sharing. But you should still try and do it. 
 
Suspended-Saved-Shared
Another place where ideas end up is that because of some reason or another, we need to stop working on them for a while. This is the most dangerous place for any idea. This is where ideas turn into zombies. Not preserving them properly for a restart is the worst you can do to an idea and your potential. To preserve it properly, you need to ensure that you prepare it for a restart.ideas are delicate. So you need to ensure that you preserve them in great shape.  Here is one example :)
 
The way to achieve the same for a software project is to document as much as possible. Just before you assign you project to the crypt, you should ensure that you have checked in all the code and documentation. You should also think about future when you may want to restart work on it. For it, it has to be as simple to understand and start on it as possible.
 
Successful
Woo hoo !! YOU are the man/gal. If you have reached here, you have already been paid for your persistence. Now that you are out of limbo, other and more dangerous hells await you. But you have crossed the first threshold. I have seldom,if ever, been here.
Monetized
If you have completed something successfully and have been able to get some money out of it as well – that covers every thing. You , sir , should be writing this post :)
 

No comments: