Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently undertaking a software project on my own time. When I first got the project I put in many hours working out how to do the "tricky" parts of the solution. I spent many hours googling and reading up on classes available on MSDN that I could use for the project. I was madly excited and passionate about doing this work.

However once, I got a working samples of how I could get around the "tricky" parts and got to the part where all that I needed to do was "grunt" work to finish the project, I lost all interest and desire to work on he project. Suddenly instead of looking forward to sitting down and working on this project it became a chore and a major hassle to motivate myself.

I am now fast approaching the deadline and I am getting the work done now, but it is under very high pressure as I have left it almost too close to the deadline! I will manage to get it done but it will involve several all-nighters. (BTW I completely despise doing these all-nighters and would love to eliminate these by maintaining my motivation and working at the project continuously.)

So my questions are is this normal? Does everyone else notice such spikes and troughs in their enthusiasm for projects?

Anyone more experienced have any advice on how to keep the motivation going?

Or am I just not designed to work on a full project lifecycle, should i and people like me being doing an R&D type role where I can do the fun figuring out part of the projects and leave it for someone else to finish the "les interesting/mundane" coding?

share|improve this question

closed as off topic by Walter, Robert Harvey, Thomas Owens Jul 9 '12 at 18:17

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Real artists ship... – user1249 Jul 9 '12 at 14:11
Steve Jobs was rarely wrong, but how do you find enjoyment or maintain the drive during the mundane part in the middle between designing the cool, elegant, innovative, and insanely great to getting it to the stage where it is ready for shipping? – Pocket_Pie Jul 9 '12 at 14:35
Strongly depends on where the deadline came from. Why is there a deadline and who set it? – user1249 Jul 9 '12 at 14:37
if you are tight-up with deadline, then strong focus on itemized tasks would help you knock it out ! – Yusubov Jul 9 '12 at 15:17
Its not the getting this project finished that's the problem. It's more "how do i avoid this happening again and again". I get excited at the start of a project do loads of work figuring out to create the solution and once I have that figured out then it goes on the back burner until I get close to the deadline and I get the "Fear" to finish it. I want to know if anyone has tips on how to prolong that initial enthusiasm past, figuring out how to do it through to completion of project. – Pocket_Pie Jul 9 '12 at 15:46

Did you heard about the flow?

[...] those who find pleasure and lasting satisfaction in activities that bring about a state of "flow."

As you can see in the following illustration, the challenge must be high as well as the skill level. I suspect that you skill level became too high for the remaining challenge in you fell into apathy.

enter image description here

So what to do?

I personally try to delegate all tasks I'm not skilled at or task in which challenge is far to low. I will try to avoid doing repetitive administrative tasks for example. But when you are alone like you, it is not easy to do.

Therefore, you must use a strategy that will somewhat force you to advance. Something that won't necessarily put you in the flow, but in a sufficient productivity state.

I use a list.

Everything I must do is on the list. The list is ordered so an item always provide more value that the next item (with some rare exceptions).

When I feel the negative emotion that comes with apathy, boredom or worry, I pick the first item in the list and I start to work on it. I tell to myself something like : "how you feel now is transient".

Usually, 5 to 10 minutes after, you are so focused on the task that you do that you don't feel the wrong emotions anymore.

Hopefully, sometimes, the next task will be more challenging and you'll experience the flow again.

As a long term strategy, I would build a cross-functional team. As a side note, I would say that not everyone is affected by what you describe.

share|improve this answer
He is in the tedious phase... Easier said than done. – user1249 Jul 9 '12 at 22:30

Everyone's different, but I would look to one of the following points/suggestions for motivation:

  • Knowing that once you get through the "grunt" work, you'll enjoy seeing your research and hard work and in action.
  • Look for existing libraries that can cut out some of that grunt work. Finding one could save you time and make coding more enjoyable.
  • Break up your coding tasks into smaller definable chunks. Make a list, then once you finish a chunk of work you can check it off and visibily see your progress.
  • Find out what's killing your motivation and try to reduce it. For example, you say you're not looking forward to all-nighters, but maybe if you could get an extension on the deadline you would be more motivated.
  • Think about how you can translate your research into code in the most elegant way possible. Once you start coding, it might not be as mundane as you thought!
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.