One of the biggest problems facing people of all kinds, not just developers, who start a personal project is the inability to stay motivated from start to finish. We get bored, we hit problems that cause delays, we lose interest in the project, or something better comes along: we get demotivated.
I was asked recently how I manage to stay motivated in order to get a project finished. How I don’t just get bored and give up. Why I see things through to the end. It got me thinking, and here is a list of things that work well for me:
1. Give yourself an ultimatum
Most people don’t want to go to work every day, but they do. Why? Because there are consequences if you don’t (you’ll lose your job), and those consequences are worse than just going to work. Set yourself an ultimatum and make yourself believe it. It sounds far fetched, but if there’s something you’re looking forward to in the near future you should set yourself a deadline to hit a milestone in your project, and if you don’t hit that milestone then you can’t do whatever it is you’re looking forward to.
2. Small rewards
I’m often not in the mood for doing a project, which isn’t uncommon. But, I do really enjoy playing the odd game of something on my PC. So, I’ll allot myself a set amount of time to play; let’s say an hour. I’ll tell myself that in order to play a game for an hour I first need to do 30 minutes of work on my project. I won’t want to do it, but I’ll force myself; after all, it’s only 30 minutes. What invariably happens is that the first 5 minutes will drag, and then I’ll get into the swing of it again. The next 25 minutes fly by, I’ll lose track of time, and before I know it I’ve done an hour or two on my project and hit my next milestone.
3. Get peers involved
Similar to point 1 – one of the ultimatums I give myself is to make myself look bad in front of my peers. When I start a project I often talk to people – whose opinions I respect and trust – about the project. I don’t want to look like a waste of space, or someone who is full of pipe dreams, especially to these people, so I use that as motivation to get it done. When I’m asked how the project is coming along it’s a great feeling to have something viable to show off, and a horrible feeling when you have to say “ummm, not very well”. Avoid that by getting stuff done.
4. I hate having things part finished
I hate leaving a job half complete. Even if it’s a project I’ve grown to dislike I would rather get it finished and never touch it again than leave it part way done. I use this to motivate myself. The further through the project gets the less likely I am to leave it part way finished, which is motivation in itself.
5. Man up.
Life isn’t all handouts and fairy dust. Some times you have to do stuff you can’t be bothered doing. Just do it, get on with it. Carry on.