This answer to one of my recent questions got me thinking about something that's been (mostly subconsciously until recently) troubling me throughout my programming career.
Basically: where do you find the drive to stay focused and motivated when working for someone else?
Now to explain how this is specific to programming (or at least to the specific kind of crafty knowledge work that programming is): lots of types of work are relatively straight forward in terms of goals. You either finish a task, or you don't. In programming, it really matters how switched on and motivated you are - but at the same time - a decent programmer can quite easily coast and get enough done not to get fired, while still be relatively unproductive, unhappy, unmotivated, and nowhere near their potential.
This is basically what happens to me in any regular programming job (I've had four so far, 10 years into my career): I start out fresh, all excited about working at a new company, getting my hands dirty with a new codebase, learning a new domain, etc. The first few months are great. All excited and motivated, everything is just clicking. Then, once things are more routine and familiar, it's like my subconscious slowly starts to revolt against the "slavery" of it - as explained in the answer to my other question. I seem to come to a conclusion (on a deep, mostly subconscious level) that taking ownership of major/complex tasks is just way too much effort and stress. It slowly degenerates to the point where I'm working (more or less) just hard enough not to get fired (and I've never been fired).
The underlying thought process (subconscious - but I've identified it now) is something like this: being fully switched on and taking ownership of major projects takes an order of magnitude more effort and stress than coasting along just hard enough not to get fired. On the flipside, the rewards for being one of the company rockstars are in most cases borderline insulting. Maybe a slightly bigger Christmas bonus than an average worker at the company. Maybe stock options worth a couple of months salary after many, many years of extreme effort, voluntary overtime and stress. Basically, the effort and stress feels extremely non-commensurate with the reasonably expected possible rewards and recognition. So I easily go into this kind of unfulfilled, coasting "salary slave" mode (think Peter Gibbons from "Office Space").
As the answer to my other question said, the answer is in startups (or in general in doing your own thing), but I'm curious to know if there is a secret to maintaining great motivation even in a standard job working for someone else, even on on stuff that you feel no deep personal interest in. I've worked with great rockstars and gurus over the years - who could somehow stay very focused and motivated even on jobs which they said they hated. They somehow bridged the gap and seemed to find motivation for what seemed like no reward to me. And it can't be personal purpose (they said quite directly that the job is "working on a boring business system" and they'd be outta there if they won the lottery) and it can't be family responsibilities or purely money (many were single and living with not-very-materialistic values).