We're in the middle of a fairly large-scale bespoke project for a Client. With almost a year gone, and another year at ahead before the final phase is pegged for delivery... well its a little difficult to stay motivated all the time.

I try to alleviate it a couple of ways.

  • Pet Projects & nixers
  • Reading & Education & keeping up to speed on whats cutting edge
  • Trying out playpen projects with new stuff like .net MVC (my next todo)
  • Q&A Sites like SO to try & keep sharp

So what do you do to stay motivated on long-haul projects?

+3  A: 
  • Try to see the long-term objective you're trying to reach.
  • Look back, and see where did you get from the beginning.

That will motivate you.


Watch Trailer Park Boys on YouTube, listen to music, read about politics, draw, take long lunches, besides stuff like what you listed. Sometimes there's only so much you can do while keeping productive, especially if your employer hasn't planned your time well enough.

More specific to my current situation, I am looking into applying for grants to visit CS conferences, gearing up to write a paper to submit to a conference (that's going to take some time), and applying for a graduate certificate program at MO Science & Technical (formerly MU Raleigh of Three Guys fame... sorry gotta plug my home state ;) Hopefully I may get my employer to pay for these in part, or get benefits of some other kind.

I'm not sure about other programs, but Raleigh offers an online 4-course program (graduate level) and at the end of which you get a certificate from them. If you get a B average or above you are automatically accepted into the graduate program (no GRE). Also, there are always various other forms of certification which you may be able to cajole your employer into helping you pursue.

Haha yeah I'm a big fan of and that fact that it comes straight through the proxy ;-) but yeah downtime is essential, I have plenty of hobbies outside of work... I was more looking for things that could be written off as working/learning with the powers that be :)
Eoin Campbell
+2  A: 

If Your project is like eating an elephant, then make elephant burgers.

+2  A: 

Divide the project into smaller accomplishments leading to the final product.

+26  A: 

From a team lead viewpoint:

I find the best motivators are success and appreciation. With that in mind:

  • Break the project into small pieces, so there will be many small successes along the way.
  • Set your team up to succeed. Ensure all tasks, though difficult, are do-able.
  • Celebrate each success. Hold demonstrations after each significant improvement, no matter how small. Bonus: department- or company-wide demos build even more excitement.
  • Appreciate ingenuity--the ability to solve problems quickly, appropriately, re-usably, etc.
  • Collaborate. Encourage cooperation, and don't let anyone work in a vacuum for very long.
  • Prevent stagnation. Switch tasks, responsibilities, etc. if you come across a roadblock, before you become frustrated or bored.

"Celebrate what you want to see more of!" -- Tom Peters

Adam Liss
I have found that your point about switching tasks works for me. Switching to QA for 3-6 months gave me a chance to seriously change my idea about QA as being a royal pain in the butt. Since that "to hell and back" job rotation I have noticed that the designs I make are far easier to verify.
Your answer sounds like **soft, soothing music to my ears**, especially since it points out in exhaustive detail about what all my recent "Team Leader" messed up. I thought I was being a cry-baby. Turns out **my list of red flags was half the size** and yet you mention some things i missed. The good thing is that I've quit (even if by strange coincidence).
+7  A: 

Find a way to ship something to customers TODAY, then do it.

Some ideas:

  • Give them a "Technical Preview" of what you have so far.
  • Turn off all the features that don't work, and ship that.
  • Take the good stuff you've done since the last release, port it back to the old source tree, and ship that.

Once you've shipped something, then do it again in a couple months. Use their feedback to help you decide what to do next, so you don't spend the next year guessing incorrectly.

Jay Bazuzi
+3  A: 

I think the best place to find motivation is continuous engagement and communication. That's why team-management practices like Scrum are found to be so enjoyable - by both technical team and clients. Increase communication, transparency, sharing of ideas.

On a different note: perhaps setting personal development milestones within such a big project will be important for the team. We are a year and a half in an ongoing project and while we are focused on it, we keep to an agenda of PHP certification, etc. Another thing we do : rewrite modules every now and then, using new frameworks, not so much for the sake of code efficiency, but to make people feel that they are learning in a challenging environment.

You might be interested in reading the July-August edition of Harvard Business Review and the article on "Employee Motivation"

Briefly, there are 4 drives that you should be looking at:

  1. Drive to acquire - (Reward system) - differenciate between good and bad performers.
  2. Drive to bond - (Culture) - Value collaboration and team work, sharing , etc
  3. Drive to comprehend - (Job Design) - meaningful individual contribution
  4. Drive to defend (Perf. Management and Resource-Allocation Process) - emphasize fairness, transparency