Hacker News new | ask | show | jobs
Ask HN: How can I motivate my talented dev to give a shit?
21 points by howcanisaythis 5378 days ago
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?

14 comments

I'm part of a remote team, and have had my share of difficulties with motivation.

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.

Different techniques work with different individuals. If I were that developer, then "level with me" would probably be the best approach. "Hey, Michael: lately you've been spending lots of time on Facebook/Twitter and we have a release in a week. I'm worried. What's up?".
I am a developer and I definitely agree with the above.

The reason your programmer is not motivated anymore is because he doesn't care. This does not mean that he will never care, just that he does not care right now.

So how do you get him to care? Talk to him directly. Be clear about what you want (his commitment to the work that you are paying him for) and find out what he wants. Then, assuming he is being reasonable, find a way to get him what he wants provided that he is providing you with quality work.

What motivates me personally? Learning new technologies, interesting projects, financial rewards for good work, and knowing that my employer cares.

I start to lose motivation when I've learned the new techs that my job calls for, when the projects begin to get stale/repetitive, when I start to feel like a cog in the wheel of a machine, and when raises come too slow.

There could also be something wrong in his personal life or maybe he has a new obsession (girlfriend, video games, new social circle).

I hope this gives you some perspective. Good luck.

There are all sorts of possibilities - in the past I've had trouble with motivation when my employer has insisted on doing things in a stupid way for no reason, or when their development methodology boils down to "I don't know what I want... but that's not it! work harder!"

Bottom line is that your dev isn't happy. Why isn't he happy? That's for you and him to find out - and be prepared for it to be your fault.

Thank you very much, very helpful insights.
You describe yourself as the "product owner". And the dev has no equity. Maybe he feels he's doing all the work and you gain all the benefits. You should offer him some equity, ownership is a great motivator.
How hard has he been working in recent weeks toward this deadline? There has to be a burnout factor in here as well.

Otherwise he's sending you a very public signal that he's checking out. Or he's bored, and bored people quit:

http://www.randsinrepose.com/archives/2011/07/12/bored_peopl...

I tried offering equity and a slightly lower salary (20%-range lower), and then an option for no-equity but higher salary. He took the higher salary option, though I was hoping he would take the equity option.

I could revisit this with him...but I have a feeling it's not super important to him, money doesn't seem to be a huge motivator.

You offered him 20% less money and some percentage of nothing? Are you really shocked he didn't take it?

If it wasn't your company, would you "spend" $15,000 on the equity you offered?

Exactly. Every startup I've worked for the owners have this weird attitude that their equity is worth something. It's not. It's worth jack shit until the company is worth something. It doesn't pay bills. It doesn't let me buy the new shoes I want. It's essentially an investment. Usually if someone is in the position to invest, they don't need to work a day-job to cover bills.
Ahem, it's not a "weird attitude" to offer less salary in return for equity. Of course equity is worth something.
Not shocked, I was a little bummed.

Would you recommend just granting some equity to try and engender the "ownership" aspect?

I'm suffering from a quarter life crisis (I'm 20.) I think a lot of people do. They just never talk about it.

It takes different things/approaches to motivate people. For me, inspirational speeches work really well or knowing that your manager is actually interested in your work.

However, it does sounds kinda odd that he didn't take the equity... He might just be an immature person that doesn't want to take responsibility. And this could be for various reasons completely outside the work environment that you have very little control over.

I think that just talking to him and asking what's up and what's going on is the best solution. Maybe he just needs a wake up call? The sincere, "I'm worried. What's up?" usually works pretty well?

It's sloppy thinking to equate taking equity and showing responsibility. There are plenty of reasons to turn down equity in favor of a higher salary, and many of them have nothing to do with a lack of responsibility.

That said, I agree that talking to him is the best solution, at least for a first step. If nothing else, it shows that his output is noticed, and that what he does is important. Even if he doesn't give you a solid answer to the ? "What's up?", he knows that you've noticed his output tailing off. This gives him a good chance to self correct, and can avoid a more difficult conversation down the road. Plus, these conversations are far cheaper than an equity grant or a raise. Talk to the kid and see if things clear up in a couple of weeks.

You say that he has "no real set hours, just that he gets stuff done": is he getting stuff done?

If he isn't getting the expected stuff done, then that is the discussion you need to have.

If you aren't happy with the amount of stuff you are expecting then discuss that.

Some days are productive and some days aren't (and I find unproductive days tend to follow really productive ones). Try and view it purely from an output point of view, and not what his method is.

- Put some rules on twitter/facebook. For example (I think) PG has a separate computer to browse the web. He has to seat in another chair to do that.

- Understand why he is having trouble focusing. Does he have impediments and he avoids them by going to twitter/facebook ?

"Putting rules on things" is the path to the dark side - aka corporate proxies.
Exactly...I don't mind facebook or twitter at work. Heck, I spend a good 30-45 minutes a day there. That's normal.

The problem is when it's 80% of the day, and that's where we seem to be at this week.

Perhaps he simply ran out of ADD medication. Happened to me two weeks ago.
Have you tried putting some deadlines on his tasks? Get him to commit to some deadlines for his tasks, obviously made with his input.

It's my experience that a lack of deadlines and a bit of interest from someone monitoring the progress, can lead to a state where a task seem unimportant. It's a bit weird, and I can only guess at what process is at play, but I have seen this effect in otherwise great developers.

We do essentially weekly sprints and he presents at the end of each week the progress made.
Just because you have weekly sprints doesn't mean the developer can't show their work more often (you just don't have the right as the PO to interrupt a developer).

I think at PivotalLabs, they have the PO's sitting near the developers.

Also, perhaps, during your iteration planning meetings, try and break the stories into tasks that feel like they are less than a day.

Also, listen more carefully during the daily standup/meeting. If the "what I am doing" is not one of the tasks or on the current log, maybe ask why. Whatever they are doing, add it to the tasks (if that really should be done).

If the answer to "what is inhibiting you" is "nothing" but the "less than" one day tasks are not complete then there is something inhibiting the developer(s). It is your job to make sure that whatever is causing the developer to fail meeting the commitments is fixed. Could be bad estimation on everyones part, could be that tasks feel overwhelming (as other people pointed out), could be the developer(s) are just not interested.

All of those are fixable.

It has been my experience that most college grads still need some basic rules and guidelines. Fresh out of college, you think you know it all, right? It's a generation Y thing, which asks for a little adaption on both sides...

http://en.wikipedia.org/wiki/Generation_Y

I think the best thing you can provide is something you can't actually provide.

The feeling of being part of something. If I were a rockstar hacker I would want to feel this project was something that could blow up, otherwise it would simply be a stepping stone for better things.

Best thing you could do personally is have a chat with him.

Best of luck.

If you want him to 'really care' give him some equity or stock options. If he is as talented as you say he is then he can probably make more money elsewhere. If, however, he has equity then he actually has something to gain by working hard instead of simply not losing his job.
I've done a "developer poll". Email all developers: what's the best and worst thing about your job right now?

Then fix his worst thing, and have a talk with him about how much you appreciate this work.

He's probably suffering from a quarter life crisis. A common thing in generation Y.
He isn't enjoying certain aspect of the job.
If your developer is not motivated to do a good job he is not talented. being a good developer is more then just having the ability to comprehend the principles behind software design its about being able to make those principles manifest themselves in working product. I think the real problem you have is a poor developer that has convinced you he is good.
No he's good. I've hired/fired devs before...I have no plans on firing him. I just need to tweak....something.