views:

942

answers:

8

If you are a professional programmer and you have programming project for hobby or fun, how do you keep up your brain long enough? how do you manage your brain and time so that you can still work on your programming project at your weekdays/weekend spare time ?

I work as programmer by day, I always want to build software for hobby,currently I have some ideas for it but at the end of day I feel mentally tired, my brain has been used up in the office,so I really don't have the enthusiast to look again at monitor screen to solve a problem.

Weekend I go outside although I could spare some 1-2 hours but I don't think this is significant enough for coding?

Really want to hear from you guys! Thanks.

+8  A: 

I find that work on my hobby projects comes in spurts when I have extra time, energy, ideas, and/or boredom.

If your day job uses all your programming energy, there's nothing wrong with having non-programming hobbies that re-energize yourself. Physical activities are often helpful.

Mr Fooz
+7  A: 

I've used this answer before, but it still applies. Check out David Allen's book, Getting Things Done.

The quick version is this: Clearly lay out all of the things you want to do in life. Not just today, this week, or at work. Then, keep track of the "next actions" for each of these projects. Having all of your goals and tasks well laid out makes it easier to get something productive done in the short periods of time that are available to you.

e.James
+8  A: 

Before starting any hobby project the question to ask yourself is, "what is the end goal of this project"? Is it to create the next big thing? Is it to learn something which can enhance your resume? Is it simply to broaden your horizons as a developer? Without knowing the answer to that question, I've found motivation to be a challenge. Sure I could learn C or LISP or Python or Ruby or something else, but what's the point? Why am I bothering? What's driving me to continue to do it? If the answer to that question is "I read in someone's blog that I should learn this", I've found that to be an easy way to start a project but not to finish it.

So in my opinion, first be completely honest with yourself about your goals for any new hobby project. Layout all of the objectives honestly and then stick to them. Only then will you be motivated enough to see it through to completion.

Also, don't fool yourself into changing your objectives mid-stream. This will only set you up for failure. Say, for example, that your initial objective was to create a web site for a family member's business. Then, after some initial success, you decide that you can create the ultimate website for anyone's business. Right then you've both changed the scope of your own project and the objective of your project. Simply having success with said family member's business is not "good enough" anymore. You've now chosen to conquer the world. This line of thinking discourages you from both completing your initial objective and having success in what you initially set out to do. Ultimately, you fail at both.

Chad Braun-Duin
+4  A: 

One thing you might do is find someone you can work with on the project. I think team development tends push you so that you don't hold up the rest of the team. You also can get more progress if you divide and conquer. Seeing progress towards the end goal is a great motivator.

Like Chad Braun-Duin said above. Make sure you have the plan laid out and that there is a goal.

Brian Behm
+1  A: 

maybe you might want to consider switching role, get a buddy who has a better programming stamina that you do. and you can design and let him code, and when you feel like it, switch role.

it's definitely easier to move a mountain when you have two heads and two pair of hands.

melaos
+1  A: 

It takes me an hour by train to get to work, so that's 2 hrs of hobby programming a day.

And if I've got nothing planned for the afternoon, I'm usually in the mood to continue programming once I get home.

Small 1 hour blocks can be annoying, easy to lose track of what you were doing. So I made one of my hobbies to build a task-management system, which I use to track what I'm doing on my other hobbies.

Dean
Lol, i did this too. What does yours do?
It's called "OneTask" the goal is that instead of seeing a list of tasks, I see one task. Do it, click done, and the next pops up.
Dean
A: 

It's just plain hard to do. After several years out in the workforce, I dropped pretty much all my hobby programming projects. They're still around, sitting in folders, but they don't get any attention anymore. There's only so much time in the day, something had to give, and it was the programming for fun...

Brian Knoblauch
+1  A: 

If you have a project outside of work, you would be surprised at how much you can get done a hour here and there, if you keep at it. There are also some tangible benefits:

  • You can learn something that you wouldn't be able to at work
  • You can code something just for fun
  • You can do a project in preparation for your next job
  • Learn a new language, tool, platform or library
  • Start a web/software business, even if a bite at a time

Many good reasons to do this, even a bit at a time.

pearcewg