| I've read a dozen articles on motivating developers. I give him lots of space to work, freedom to pick his own features to work on. I've read "Peopleware" cover to cover. We are a small distributed team (2 devs and myself, product owner + design work). He and I work in an office together. He has no real set hours, just that he gets stuff done. Lately it's been more and more time on facebook/twitter even though we have a release in less than a week. He has no equity stake in the company, but a slightly above average salary for our area. He is a recent college grad. He's a very talented developer when he works, but I'm getting maybe 50% from him. What can I do? |
As best I can, I've listed broad categories of what demotivates me:
First, lack of clarity of what the next task to be completed is, and a perplexing reluctance to simply ask.
Second, a task in front of me that is too large to attack at once and for which I haven't found an angle from which to attack it.
Third, something else is temporarily much more interesting/threatening than work. Facebook and Twitter can be interesting, but I find if I'm spending hours on them it's to avoid something, not because I'm enjoying it. So it's unlikely something temporarily interesting.
Fourth, there's that "wait a second, we're doing this wrong" feeling, which if it's leading to a drop in productivity is probably followed either by "I don't know what the right approach is" or possibly "the right approach is so different from what we're doing now that soon we'll be screwed." The developer senses an impending technical dead end.
Finally, there's disillusionment with the overall goals of the job/company. A "we're doing it wrong" but on a more fundamental level, followed by either "there's no way I can convince the company to do it right" or "I have an aversion to the core business we're in". The developer senses a dead-end job- or lifestyle-wise.
Regardless of which flavor of problem it is, I think mcherm pretty well nailed the solution.
EDIT:
Another possibility is that your developer has been assigned something he hates and is hoping that by avoiding it long enough it will go away. This is a particularly easy and self-destructive (usually) pattern to fall into.