I noticed a couple of comments on DZone about programmers with family not having the time to do hobby projects. As I wrote about my own experiences having a child, I really empathize with such concerns. It is not easy. It is really hard to do a fair job with your parenting and family responsibilities and also devote time to programming while keeping your health and sanity.
One question I would ask people is did you do any hobby programming when you did not have a spouse and children? If you didn’t, then the arguments make no sense. You weren’t able to make any time when you had more time. How would you expect to do so now? It is unlikely and possibly impossible that you could do it.
But if you were doing programming outside of work before and are not doing it now, then we are getting into a more fruitful discussion. How many hours were you able to devote to such programming before? Let us say it was 10 hours per week, which I think is a very liberal estimate. How many hours can you allocate now? Can you do 1-2 hours a week? Maybe cut out movie watching for one night and do some programming? Stay up late on a Friday or Saturday when you don’t have to get up early the next day.
But even that is going the wrong way about hobby programming. The idea behind it is not programming for its own sake. You are creating something. It may be a website or a phone application or a script. But ultimately it has a purpose, something useful. So what are you interested in building? And when you know that, everything to accomplish that can be broken down into a series of steps.
For example, you might be interested in building an application that can keep track of all your friends and view their Facebook, Twitter and G+ feeds in one location instead of having that person’s profile in those sites separately. If you want to do this, you need to do different steps – set up your database, talk to different APIs, build a nice screen that integrates all the status updates, etc.
So there are discrete tasks and you need to do them one by one. When you know your next step, you just need to spend any free time attacking and finishing it. That is how you find time. By treating every programming task as a chore that must be done.
To summarize, if you are interested in programming at home, think about what you want to build, break it down into steps that can be easily tackled and then use any free time going after them.