views:

706

answers:

13

Possible Duplicate:
How do you sustain motivation when working on personal projects?

Working 8 hours a day on programming stuff I find that by the time I get home, or even on my days off, I don't really have the drive to do any more programming on personal projects, be it for research/experimentation, or even legitimate things I would like to create and release.

How do you manage, or have you managed, to do these projects in addition to working a full-time job?

(Assume there are no issues of your employer being entitled to any IP you create on your own time.)

A: 

I have found this to be quite challenging. Sometimes I work on personal projects during the weekends. When the energy is still high on a weekday after work, I write some code for personal projects.

You have a strike a balance between life outside programming and personal projects.

Sudheer
+3  A: 

Motivation is the single biggest factor. Unfortunately, if you're lacking it, you'll never get to your side projects.

You'll need to get that drive back.

I tend to find that the fastest way to get motivated is by getting some revenue coming in. Once you see the potential that your project could be fulfilling, and the money it could be making, you tend to get excited.

If you're doing open source, or projects that don't generate money, setting goals with real world achievements attached to them helps. At what point can you add a project to your resume? Show it to a client? Distribute it to the community? etc.

womp
+4  A: 

Learn to sleep a lot less :). I sleep about 6 hours per night or less during the week and I've found I can get a tremendous amount done by sleeping that amount and I still feel productive.

Seriously, it's all about passion. You have time for what you make time for. Watch less TV, cut out non-essential time wasting habits.

Besides passion, I think it has to be fun. If you don't enjoy doing stuff on your own and doing side projects, then it's going to be a burden. Fun is what it takes.

dcp
If I sleep a lot less, I resemble a zombie when I get home, and won't be doing anything more intellectually challenging than playing games. Different people need different amounts of sleep; if you're fine on 6- hours a night, that's great, but not everybody is.
David Thornley
Point well taken. I will say that I think you can train your body to require less sleep. Even if it's just 30 minutes less, that's 30 minutes you can devote to doing something productive. Not everybody can go on 6 hours, but maybe they can go on 7 or 7.5 hours. The point is, it's something to try, along with the other great suggestions here.
dcp
@dcp: The problem I have is that my coding skills deteroriate the more my brain resembles guacamole, which it tends to do after days on end of not enough sleep :/
Dave Swersky
@Dave Swersky - Yes, it can be grueling. One tip I've found though is to have a long catch up nap on Sunday afternoons. That really works wonders :).
dcp
@dcp Why not just use Sunday afternoon for your project and avoid spending the week looking like a zombie?
Jere
@Jere - I like having the Sunday afternoon as downtime. It gives me something to look forward to. Everybody's different, this is just what works best for me :). I like to think that I don't look like a zombie during the week, but perhaps I should ask some colleagues just to be sure ;).
dcp
A: 

It comes down to motivation really. You go to work for a reason, and you should work on your own projects for a reason too. Find a reason and your motivation should come ;-)

klausbyskov
+1  A: 

You have to be obsessed with your personal project. If you aren't truly in love with it, you will just let it stagnate indefinitely.

lod3n
+8  A: 

I've been dealing with precisely this issue recently. I have a wife and three kids, so by 9pm when my time starts I'm ready to play games and decompress, not work more.

Quite simply, whatever you're working on will have to be more important than your personal time. I plan to start the new year working on personal projects in the evening, at least three days a week. Before then I will have a plan for what I want to accomplish and why.

Also, try reading up on motivation and personal projects. People like Gary Vaynerchuck are very inspirational- I haven't read his book yet but I plan to. Also check out Escape From Cubicle Nation.

Dave Swersky
A: 

Get a tedious day job you are not invested in?

Tom Hawtin - tackline
I can speak from experience that this does not work. Tedium can still be tiring.
UpTheCreek
+2  A: 

Make an account on one of the more "social" coding sites like BitBucket or GitHub and publish all of your projects. They don't need to be the greatest thing in the world, but it will at least give you a slight chance that someone might take up your work.

As for the drive, there is no need to push yourself. If you feel satisfied in your current job and feel you are becoming a better developer on your work projects you will probably have a lot less drive for personal ones. It's always nice seeing real results from business applications that is so rare on small pet projects.

Develop things as they come to you, publish them to bitbucket/github and come back to them when you have time. Don't stress yourself out about not having enough personal projects. Most of all, don't kid yourself in to thinking you can take on a larger project and get others involved in things you can't regularly dedicate your time to. I feel that has been my biggest mistake in the past.

Work on things as they come, you will probably lose interest in most of them pretty quickly but they will remain out there for others to see. No harm in sharing.

jcm
+1  A: 

Well, besides passion, the biggest motivator i have found is $$MONEY$$

When programming after hours, i do find that when money is involved, not even when im tired do icare. I will still try to get the job done.

Passion on the other side is when you apply your love for a selected subject, on say Any Given Sunday...

OK, in general, maybe

var sucess = AfterHours.Combine(Passion, $$Money$$);

astander
I have found even after work code for money may not be insentive enough. I have even burned plenty of my own money on SDKs, HDKs and more stuff and still can't get myself to "make" the time.
Matthew Whited
+1  A: 

We started a small group of people who get together weekly to work on hardware and software projects. Having the regular schedule helps stop us from getting distracted by other things.

Nick
A: 

It really helps if you pick a problem domain that you find interesting, challenging, or fun. I typically write games when I'm working in my spare time (regardless of the technology I'm working with), because that gives me the incentive to work on it.

I also use Google Code to make my projects (such as this one) available to everyone, which is another good motivator. It's pretty sweet to know that other people find what I'm doing in my spare time interesting or useful.

Kaleb Brasee
A: 

I make enough money at my day job, I don't want to trade in any extra time, honestly. Balance is important, and after you've been in front of a keyboard for 40+ hours, it's hard to get balance if you spend the remainder typing, online, or playing video games.

If I'm working on a project at night, it's guaranteed to be both:

  1. Phenomenally interesting to me.
  2. Unlike what I do at work.

I professionally work as a web developer. My current project work - which has spanned almost a year at this point - is working on a custom 3D audio driver.

Dean J
+3  A: 

I find that having a deadline really gets me going. If I have promised a piece of work to anyone, then I feel obligated (and thus motivated) to find time to work on it.

If you're on a project by yourself, then you may never get this - perhaps find someone that you'll allow yourself to be held accountable to, even on a personal project. Check with a friend who would be willing to ask you once a week: "Hey, you told me you wanted to create a new FumbleWidget for your Foo. Did you do it?"

Kylar