views:

577

answers:

18

We are going reward the best developer (monthly/qtrly basics) from our team.

How do you select/choose the best possible candidate from team?

Do you have some sort of criteria / selection process which you may want to share?

+37  A: 

Be careful rewarding one single "best" developer. It could have unforeseen consequences:

  1. Your other developers will feel inferior, and resent the "best" developer.
  2. Your "best" developer will feel superior, and look down on the other developers.
  3. Your "best" developer will become complacent.

Might you be better off rewarding your team?

Also, see John Nolan's answer, which goes into more detail.

Dominic Rodger
If I'm the best programmer in this team, what kind of schmucks are the other guys?!
Kris
Also, it's called a team for a reason...there's no I in team and all of that. If the team does well on meeting goals, delivering a product, whatever, you should reward them all.
Thomas Owens
Where also isn't a 'we' in team, but there is a 'm' and an 'e'.
kenny
A: 

What will be the nature of the reward?

Please be very careful as this sort of thing could be very divisive and end up with bad feeling between team members when you should be encouraging cooperation and team spirit.

If it's a "fun" thing and the "best" developer title is awarded monthly then it could be beneficial, but only if your definition of "best" is the "most helpful" or something along those lines.

ChrisF
+10  A: 

You might wanna read up on Joel's article Incentive Pay Considered Harmful. Maybe it would we better to reward the team as a whole, possibly mentioning things each particular programmer has excelled at, but not significantly rewarding one over the other.

n3rd
A: 

Joel Spolsky has an interesting blog post about why you do not want to do this. And another one also mentioned in another answer.

Ronald Wildenberg
+8  A: 

Did you considered voting? I think the best way is to let to the whole team to decide.

After comment reading:

For that purpose I think as a practice could be used kind of enterprise friending network using some ranking recommendation system, where people in different teams could share they thoughts and solutions for problems they have recently tackled and using this system you can find out the "best" (most popular) developer.

In general there are a lot of aspects in this question, since it touches some sensitive points. If you started to think in this direction, maybe a good practice would be to define strict awards in different fields of development avoiding doing it general like "best developer" title.

Artem Barger
If I was on the team I'd suggest we voted the best developer on strict rotation each month so we all got a turn with the bonus. And if a team didn't do this I'd think that would be a sign of problems within the team. I think this indicative with issues with the "best developer" idea rather than the voting particularly.
Dave Webb
A: 

If its not in your face obvious who the best developer is (and outstanding devlopers usually stand out from the crowd!) then I wouldn't do this.

If you have to root around for some silly metric to identify the "best" developer then you will likely foster resentment and conflict within your teams.

James Anderson
+2  A: 

Better increase them all salary according to their performance and don't publish this information. This way everyone will feel happy.

I'd probably get upset if someone was nominated as the best developer and me ignored. If it was after several years of being with the team, I could consider this as a good time to shop elsewhere.

User
+22  A: 

Don't do it. You want your team to work as a team.

soulmerge
+1 Pithy and what I would've said.
cletus
+3  A: 

I would suggest that if you're going to do this as something serious you should reward the team effort, not a single developer.

If you still want to have the single "best developer" award, you should make it something more fun instead. Programming challenges of different kinds, like a programmerlympics would probably be great fun for the whole project and not make anyone resent anyone else for doing better in the competition.

Stefan Thyberg
A: 

As the others have suggested i would stay from awarding this out.

If you wish to award something to the best developer, then wait until they have an appraisal, or yearly/6 monthly wage review so that you can do it then via a promotion, increase in annual wage, or part of a yearly bonus maybe, which you could then justify it better.

kevchadders
+1  A: 

Pull a name out of a hat, anything more will be dangerous.

kenny
A: 

You can ask, all the developers to nominate the one who has done good job during the period ( with reasons). Who else than peer know "who is the best" for that quarter. Also, emphasize the fact that he is best for that quarter and for next quarter its fair trail again. Getting recognized from peer has more value than getting nominated by manager, I feel.

aJ
A: 

Agree with the "don't"s. If you simply must, then consider using some less provocatively "winner-take-all" metrics, like:

  • Most bugs fixed per month
  • Most end users happy per month (or most externally visible dude per month)
  • Best solution to a tricky internal problem each month

... etc. Things you can concretely determine, and which aren't already directly in consideration for compensation.

A: 

Given human nature, the best developer will be evident simply by their actions. Singling out this person without recognizing the contributions of others to the project is not good. It kills morale. Privately you can express your praise to this person and reward them with bonus, etc, but be careful when loading up egos. You're only as good as your last gig, and herculean feats may not cut it on the current mission.

Publicly you need to express gratitude for everyone's contribution.

David Robbins
+9  A: 

Just buy everyone doughnuts instead

willcodejavaforfood
I'll upvote that one, obviously... ;)
haylem
It's what I do :)
willcodejavaforfood
+7  A: 

Mary Poppendeick wrote a paper on rewarding team members. It's well worth a read.

She hypothesizes that there are several problems with individual rewards:

  1. Competition - pits employees against each other
  2. The Perception of unfairness - people will feel they are hard done by
  3. The perception of impossibility
  4. Destroying intrinsic motivation - doing a job is just not enough. Focus on reward not the feel good factor of task completion
  5. Sub-optimization - people may game whatever system.
John Nolan
+1  A: 

It’s a very bad thing to do. I was at a company that had something like 'best dev' and what actually happened was all the standard devs got the standard boring/normal projects (which they did and got them working as required) but the senior dev got all the R&D and cool apps to try. The sort of apps/demos which never get released but look good, and so they were rewarded. This pissed off all the standard devs!

Also be very cautious rewarding teams, I've seen teams been rewarded for completing all the tasks given to them in record time, only for 2/3 months to pass and all the work they did then needed to be redone as it was rubbish and didn't fulfill requirements, and at the same time the other teams that created virtually bug free apps but took their time got nothing. Again this pissed off the teams.

Be very carefull, or you will end up with some very unhappy staff.

kenneth
A: 

Quite aside from the disincentives that this might cause: if you can't tell who the best developer is (and your question indicates that you can't), then you don't have one.

kdgregory

related questions