Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

In the second edition of PeopleWare, DeMarco and Lister suggest that annual performance and salary reviews foster teamicide because they encourage competition within the team. Spolsky re-iterates this idea in his "Incentive Pay Considered Harmful" essay.

Is this really the case? And if we don't have salary reviews, how should pay rises be done?

share|improve this question

closed as off-topic by MichaelT, durron597, jwenting, GlenH7, Snowman May 12 at 22:10

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, durron597, jwenting, GlenH7, Snowman
If this question can be reworded to fit the rules in the help center, please edit the question.

I asked a somewhat similar question - programmers.stackexchange.com/questions/40054/… –  Job Jan 28 '11 at 3:24
related: programmers.stackexchange.com/questions/45641/… –  spong Feb 19 '11 at 14:13

10 Answers 10

up vote 28 down vote accepted

In my experience, the most productive rockstar programmers in an organisation are almost always people who are truly passionate about what they do. So the trick is to find people for whom the "work itself is the reward", not some "external" stimulus such as better pay.

As for how pay rises should be done - I'm not sure. I've always essentially just been a grunt programmer and have never been in a position to have a say in this. But from my point of view, I've actually always liked working for companies where the hierarchies and pay scales were relatively flat.

As Spolsky says, programming output is notoriously difficult to measure. Some people are good social catalysts in a group, others are better straight up quiet-achiever programmers, etc. A given manager might not be able to see the synergy for what it is, and none of the traditional metrics can really quantify anything useful here.

To be honest, I think the best kind of performance and salary reviews are relatively informal ones. eg. If someone is an obvious problem employee, or obvious outstanding employee, of course that should be pointed out. But the more fine grained it gets the more it just causes needless stress. Also, I find that programmers are mostly happy so long as they are getting average or above pay for their given specialty. So as long as you're not outright screwing them (by, for example, not giving a raise that covers inflation + a token bit extra, or outright underpaying for that specialty in your market), a quick and informal review and inflation index raise every year should be all you need.

share|improve this answer
+ 1 for "But the more fine grained it gets the more it just causes needless stress." –  jmo21 Jan 28 '11 at 8:49
"The work itself is the reward": Uauh! I didn't know that IT was a volunteer program. I use to work for money, as a way to earn a life. Should I rethink my professional carrer and develope systems for free while sustained by my relatives (or the social care system)? –  Tomas Narros Jan 28 '11 at 9:22
@Tomas your sarcasm in uncalled for. I'm a developer for +10 years and there is definitely a lot of work I do for free just because I love what I do. Also look at all open source community, why do you think they've invested so much time implementing Apache, Linux, JBoss, etc if they weren't getting any money? Good developers, passionate ones will work for free but also need a job to pay their bills. That's the difference between good and bad ones, the good ones aren't there because of the money although it does come in handy. –  Alex Jan 28 '11 at 13:58
+1 to Tomas. Money can't buy happiness but it sure does make a nice down payment –  PSU_Kardi Jan 28 '11 at 14:46
@Tomas: Developers, by and large, want enough money to live on comfortably, and typically want to be paid reasonable market rates. After that, money typically ceases to be a major incentive. For a top developer, money can only be a disincentive (if it's sufficient), not an incentive. –  David Thornley Jan 28 '11 at 15:04

If I look at how these have been implemented in every organisation I have worked in, then the answer would be, yes they are harmful.

In my experience there is a huge gap between the stated objective of performance reviews, which is generally to improve the performance of the individual and the organisation, and reality.

Where performance reviews are intrinsically linked to pay through "if-then" type rewards it becomes a game of politics and those who succeed in the performance review are often those who are best equipped to play that game rather than those who contribute the most in their real day job.

For performance reviews to really succeed they need to be focused on encouraging deliberate practice which requires an open and honest assessment of current performance. When this becomes entangled with what you are going to get paid in bonuses or future salary or there is the risk of getting fired, it is hard for people to be honest as there is a clear incentive to do otherwise.

Clearly organisation have a need to assess their current performance capabilities and need ways to improve it. There also needs to be some method for deciding who gets paid what. I feel the issue is that the schemes in place, things like "Top Grading" and the obsession with "A-players", as people like Dan Pink and Tom DeMarco have noted, are from a bygone era and our management of human capital has not yet caught up.

share|improve this answer

Annual reviews are a necessary evil in some organizations, but that doesn't mean feedback shouldn't be given on a continuous basis. There should be no surprises during an annual review unless the person is a sociopath or the manager has given poor feedback.

Some of the revenue sharing models divide up profits in a predefined percentage split. If the company is trying to get purchased, there should be some stock incentive of some sort for those contributing to making a company attractive to investors (One company was trying to inflate their headcount by how many desktop PC's they had, so everyone had to use two. You can't make this up.).

Whatever you do you can't create some sort of system that everyone is just going to game (lines of code, etc.). Some developers do work on more critical pieces of applications than others and usually have a higher position, salary and bonus. Time with the company is not a great indicator, but sticking around should be rewarded.

share|improve this answer

At the end of the day its the team that counts, I find individual performance appraisal often nullifies the team effort causing unnecessary conflicts, like people trying to get ahead of others by keeping things for themselves and jealousy. Money seems always to bring out the worst in people, in a team you want people to reach outside of their roles and take on more responsibility, singling out people is not a way of making the other members become more responsible.

The team has a common goal so it would be better to measure and reward the team based on this goal and then this money could be divided equally based on for instance age/experience/time working for the company.

Its better to let the people inside the team make sure everybody is performing at their best by using peer pressure instead of monetary rewards.

share|improve this answer

If you already have reviews, don't stop them without making clear why. Stopping reviews can imply there will be a layoff coming so there isn't any need to waste time on them. I thought so at a startup I worked for and I was right.

share|improve this answer

To understand why Annual Reviews are teamicide, consider the consequences of the following analog:

Your marriage is going along great, but you decide that once per year you need to have a conversation with your wife initiated by the question : "How do you think our marriage is working out?" followed by "Let's talk about what you have done right and what areas you need to work on."

At home, it will invariably end in an argument. At work where you aren't on equal footing, it will just stir up crap and force the employee to re-visit their motivation for working for you and their own level of job satisfaction. In my experience, when you force people into too much introspection they dig up things they are unhappy about that they weren't focusing on, or hadn't been letting bother them before.

The alternative is to have a running dialog throughout the year that includes constructive criticism and positive reinforcement. Annual reviews are just a crutch used by HR to force bad manager who wouldn't otherwise pay enough attention to their employees to pay lip service to it once a year. For good managers it is superfluous. For Bad managers, it is an obviously empty sentiment that will just call attention to the manager's incompetence.

share|improve this answer
So ... would you rather not do them at all? –  Job Jan 29 '11 at 4:02
Not on an annual formalized basis. I prefer to give continual feedback throughout the year. The salary review would be once a year, but would be just a recap of the recent ongoing discussions with the employee. –  JohnFx Jan 29 '11 at 4:20
+1. awesome analogy. –  Bobby Tables Jan 29 '11 at 6:13
I agree with the answer, because it tends to be right in practice. A good manager should work hard to overcome the limits of the common system and be focused on building strong individuals and teams. Way too much easily found backing material out there to try and simplify here. Judge your manager and company on how they handle this problem and take action if necessary. –  Jim Rush Jan 30 '11 at 15:32
You have to understand why in a big organization they insist on formalized annual reviews. It offers them legal cover when they eventually decide to fire people, in that they have documentation of performance deficiencies. Not defending that practice, just mentioning it. –  JohnFx Jan 30 '11 at 17:23

Things I personally have seen in the performance review process that have actively harmed morale and productivity in the organization:

All the managers were in the same bonus pool, the most senior guy rated everyone else down so that he got the entire pool to himself. Needless to say the managers were livid.

People were told they could be rated no higher than Satisfactory if they had received a promotion in the past year. One of the people this affected sued and won.

The guy with the clean desk but the projects which were all over budget and past the deadline and which did not pass Quality control when they were finally turned in got the outstanding while the three other leads who had messy desks, managed more projects and got them in on time and on budget and passed quality control did not.

The boss telling an employee he did not do the things he wrote in his self-appraisal (which he did do) so the boss could take credit for doing them.

The performance appraisal written by the first line supervisor that was changed from Unsatisfactory to Outstanding because the person in question was having an affair with the CEO.

Many people who had their appraisals articifially lowered because "We can't give out that many Outstandings and it's not your turn."

I could go on for a long time on this subject. But it is better to go read Deming on this subject. You could start here, but really go read in depth what he is talking about. http://en.wikipedia.org/wiki/W._Edwards_Deming#Seven_Deadly_Diseases

share|improve this answer
-1 From what I gather this sounds like business politics as usual...equating the above stories solely to pay for performance is a bit off the mark. –  Aaron McIver Jan 28 '11 at 15:04
@aaron, this is why pay for performance doesn't work. Ever. You can't separate organizational politics form Pay for Performance. –  HLGEM Jan 28 '11 at 15:13
@HLGEM I have two children; children live in the moment. Equating a child's mindset to a grown adult is probably not a good route to take. The review is a recap. The authoritative figure should not wait until the review time to provide insight on progress or areas where change is needed; that should be a constant dialog throughout the year between both the employee and authoritative figure. An annual review is nothing different then an enlarged sprint review which seems to be widely accepted by the software industry. Without reflection changing your path is difficult. –  Aaron McIver Jan 28 '11 at 16:13
Performance reviews are normally annual. Too late. You want to affect performance, or recognise, or reward performance? Then it needs to be as immediate as possible. Strangely enough when somebody screws up (eg downloading movies at work) there is usually a pretty immediate reaction. When somebody does well, its "oh well thats your job". Then the annual charade begins. –  quickly_now Jan 30 '11 at 7:09
I've seem all the things listed above apart from the affair with the CEO. I've also been the victim of the boss who marks down because when I leapt in to help out a project running late, that counted AGAINST me because I should not have done so. How it was supposed to be delivered with effectively one developer down + staffing caps was a mystery never explained to me. –  quickly_now Jan 30 '11 at 7:10

This video has excellent insights on what motivates people:


It does not give an answer on how people should be motivated but it does say how they shouldn't. In the video Daniel Pink gives a lot of examples of money rewards that don't work (sometimes they do the opposite of what you want). By the end of the video he points out that smart people are motivated by 3 things:

  • Autonomy
  • Mastery
  • Purpose

He ends up saying that people don't need rewards, they need incentive.

I believe that's true and rewarding doesn't have to come as money prizes. Having a very well built office with high end computers, very comfortable chairs, the best keyboards and mice available out there; can be a reward to good and smart developers.

share|improve this answer
+1 This is one I've been sending around to fellow developers (and I'm an ex-manager, btw). –  quickly_now Jan 28 '11 at 10:44
I edited the post to make it more of an answer than simply a video link and also corrected one of my statements. Hope it helps. –  Alex Jan 28 '11 at 14:14
Very interesting video, thanks for sharing –  Kevin D Jan 28 '11 at 14:22
It's interesting then to me that Google does Quarterly reviews. I think they have the purpose part covered and tons autonomy, especially with the 20% time privileges. Still there's other reasons for assessing performance than penalizing poor performers or adjusting salaries. Sometimes you just need to make adjustments and adjust roles, goals and strategies. –  Mark Renouf Jan 30 '11 at 9:53
A formal review, done frequently, can be of some value because its TIMELY. An annual review has lost all element of relevance to the time at which things occurred, so its all lip service and no practical value. –  quickly_now Feb 4 '11 at 3:24

It makes absolute sense in theory and in isolation.

Pay the best guy the most, and make it a sliding scale down from him.

The problem is all the little things that you can do to play the game, the politics in the organization, the project you might be stuck on, and a multitude of other things.

What if you have a spineless manager who cannot make the case for you in the meetings that decide these things.

What if you are the newest guy in the team and your manager has been buddies with everyone else and bases his decisions around that.

share|improve this answer
+1 for "in theory and isolation". –  Anne Schuessler Jan 28 '11 at 8:46

Pay for performance is a tried and proven method to accommodate those who perform in an exceptional manner versus those who don't. Measuring performance is a needed evil.

Competition is not necessarily always negative. It can often times force other members within the team to push...as a natural leader may surface forcing the other team members to keep pace.

IMHO the performance and salary reviews being considered a harmful approach is a byproduct of society pushing the notion that everyone is equal, which is unfortunately not true. Lack of equality is what pushes individuals to succeed; to become better; to challenge the status quo. Nations were built on this concept and ignoring this natural approach would be avoiding something that has proven effective for many years.

share|improve this answer
I think it depends how far you take it. If it gets very fine grained you start punishing people whose contribution doesn't show up on the metrics, but is still important (eg. Quiet achievers, technology evaluators, social catalysts, etc - their contribution can easily slip under the radar, as per Joel's article). So I think there's a balance. But some of the Byzantine-Dilbertesque methods I've seen out there have been far too fine grained and harsh. –  Bobby Tables Jan 28 '11 at 5:09
-1 Because scientific studies in the area conclusively demonstrate the opposite: pay for performance results in worse overall performance for tasks involving any cognitive skill. –  whatsisname Jan 28 '11 at 6:07
Software development as it is practiced today is often a team effort which might be considerably harmed when trying to make developers compete against each other. What I think might work in a healthy environment is competition between teams. You can't really be selfish when trying to make your team the best, but there is still a level of competition that will improve the results. However I think there's a huge difference between practice and theory when it comes to performance reviews and that people aren't necessarily rewarded the way they should be. –  Anne Schuessler Jan 28 '11 at 8:44
-1 For totally not understanding how work environments operate. You are assuming that managers are capable of identifying the top performers. Your assumption is absolutely wrong in the overwhelming majority of cases. –  Dunk Jan 28 '11 at 16:47
The trouble with INTERNAL competition is that people work toward their own goals, which might not be the same as the organisations goals. EXAMPLE: A bonus will come if the developers deliver on time. Now, at the same time the developers get unscheduled interruptions of unknown length at unknown intervals from tech support - whose goal is to help customers out with trouble RIGHT NOW. The company wants to keep those customers. So your developers are torn: help the customers (good for company) OR tell tech support to go away (good to get bonus). Performance goals for person != good for company. –  quickly_now Jan 30 '11 at 7:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.