The Bipolar Lisp Programmer
groups.google.com
groups.google.com
I often go through phases where I don't feel like doing anything. That's more than made up by the fact that when I do feel like working, I work harder and faster than 20 people.
Peaks and troughs are not a problem so long as you learn to deal with them.
Daniel
What makes it worse for programmers is that our work is essentially creative in nature; progress is not defined by the number of bricks laid or the length of the ditch dug. It isn't possible to switch off your mind and just work at the task; you need to come to the compiler with your 'A' game.
On top of this, it really isn't possible to tell your clients that their projects are going to arrive N weeks behind schedule, because you're depressed. Well, it is possible, but not if you want to keep them.
One of the ways I deal with things, is to try and do maintenance tasks that generate 'little successes' throughout the day. So, even though my code isn't working the way I want it to, getting something else done tends to help get me back in the right frame of mind. Doing simple sysadmin tasks, or just spending half an hour tidying up my office a bit, or making dinner for a friend... it all helps out a lot.
Climbing has also been a big boon for me, because it's a very mental sport, can offer a string of 'easy successes' through bouldering, and provides some much-needed exercise and social interaction to the day.
But until I found ways to help myself deal with things, I could spend months off-line. Depression can be a very real problem, and for people who don't have good coping mechanisms, it is utterly crippling.
Joking aside, I'm a sophomore in college now, and I closely approximate the 'brilliant failure' model (a little arrogant to say that though!). High school was a breeze, but suddenly you can't not do homework anymore. Classes are not going well and either the depression started first or the lazy/bored attitude did; either way, it's a death spiral. Takes a ridiculous amount of brain power to stop it.
Hm that was an impromptu rant, sorry.
For instance, one of my clients is quite happy to be flexible as to when I do the work for him, because I always do get it done and get it done faster, better, and cheaper than his other alternatives.
Finally, when in a down phase, what I find is I can't concentrate on "big stuff" - things like coding a big piece of functionality, that requires a lot of concentration and follow-through, and I simply can't summon the motivation to do it when I'm in a trough. But there are many other things that need to be done in life (particularly if you're running your own business) and a programming 'down' phase is a great time to power through those on auto-pilot... things like paperwork, blogging, reading, calling on people (clients or not), tidying up your office/home, doing some sport, etc.
Daniel