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?
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?
Be careful rewarding one single "best" developer. It could have unforeseen consequences:
Might you be better off rewarding your team?
Also, see John Nolan's answer, which goes into more detail.
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.
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.
Joel Spolsky has an interesting blog post about why you do not want to do this. And another one also mentioned in another answer.
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.
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.
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.
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.
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.
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.
Agree with the "don't"s. If you simply must, then consider using some less provocatively "winner-take-all" metrics, like:
... etc. Things you can concretely determine, and which aren't already directly in consideration for compensation.
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.
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:
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.
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.