Compensation, rationality and the project/person fit

To negotiate a compensation, you need to compare to something. There are two principally different things people compare compensation to:

  1. Available alternatives. Employee: "I could get twice as much at Microsoft." Employer: "We can hire Bob for a half of your salary."
  2. Peers' compensation. Employee: "Jeff gets twice as much and he's not better than me." Employer: "John gets half your salary and you're not better than him."

I believe the second approach - comparing "ability" and having a common level of compensation for people "at the same level of ability" - is the worse approach. Its main drawbacks are:

  • People look into each other's pockets too much that way
  • It is, in a basic economical sense, an "irrational" approach
  • It ignores the project/person fit

I'll discuss all of these drawbacks, mostly focusing on ignoring the project/person fit - in my opinion, the worst part.

Looking into each other's pockets

Even if management doesn't disclose the way people are labeled and what compensation corresponds to each label, people have an incentive to find out all about this. This means that everyone will know how much everyone else gets, and how one must be labeled to earn a given amount.

People looking into each other's pockets is bad for everyone:

  • Invariably people will find others' compensation unjust, which doesn't improve team spirit.
  • You get Piterian situations where, say, a strong developer's only way to get a raise is to become a manager, at which he might very well suck, etc.
  • Sometimes the employer does want to set exceptional conditions for someone - pay someone significantly more or less than someone else with the same title. However, if everyone tends to find out about everyone else's compensation, it becomes hard to make these exceptions as it is guaranteed to upset people.

Others' compensation is one of those things that are better left unknown. It's a pity if you tempt people to find it out.

Comparing to imaginary alternatives is "irrational"

If I'm working on X, Jeff works on Y and John works on Z, it makes no sense to compare my compensation to theirs. Whoever is unhappy with the current arrangements and threatens to terminate them - that is, whether I quit or get fired - neither Jeff nor John will replace me, nor will I replace them.

Jeff and John usually have to keep working on Y and Z, so they can't work on X if I quit. Nor will I work on Y and Z - even if I quit, not the company, but just my team, and join their team in the same company. They're already there working on Y and Z - so I won't work on Y or Z, but on W.

Therefore, the employer should compare my compensation to what he'd pay someone else to do X, including the cost of training him. I should compare to what I'd be payed to do W, including the cost of having to learn to do it.

Why should we compare to these things and not others? Because these are our actual alternatives. Jeff's and John's compensation has nothing to do with our actual alternatives.

To which someone can legitimately still reply: why? Someone can say, I still want to compare to Jeff's and John's compensation. So what if you're saying that it's "economically irrational" to consider things unrelated to the real alternatives in a price negotiation? It's my price negotiation, I can compare to whatever I want!

That someone would be right, in a way. It's not like there's a monopoly on the definition of "economic rationality" - one could certainly find an economist claiming that looking at your peers is the rational thing to do, or at least the natural thing to do.

Say, Robert Frank - "Choosing the Right Pond". You know, evolutionary considerations - you're trying to impress a potential mate with your salary, the mate compares within the "pond", an unusually high salary is an externality, etc.

Basically it's partners that you compete for, and it's your peers who you compete against, so it's their compensation that you should care about. (Does this sound just like your workplace? I hope not…)

As an aside, I don't understand evolutionary definitions of "rationality", not really. I mean, if the ultimate goal is to pass your genes, shouldn't you become a serial rapist targeting nuns or someone else who isn't likely to use abortion? If you aren't doing this, and you advocate the evolutionary view of rationality, aren't you proving your own irrationality by your own actions? And if you are irrational, then why should irrational people like you be trusted to define rationality in the first place?

But the fact that I don't like the "evolutionary" view of rationality and prefer, in this context, the "classical economics" definition is just my opinion. An employer can have his own - just like a friend who kept trying to sell his car, for a long time, until he found someone willing to pay the high price.

Another friend said, when they discussed markets, "what you did is irrational - markets don't behave that way - in a market, you lower the price if you don't have a buyer". To which the seller responded - "first, I did sell high eventually; second - you can't tell me how markets behave - I am the market!"

So yeah, if you're an employer or an employee and you want to compare compensations regardless of what alternatives are actually available - you can of course do this. You are the market - economists, bloggers or anyone else can try to describe your behavior and predict its outcomes, but they aren't entitled to label it "rational" or "irrational", not really.

All that can be said is that considering imaginary alternatives instead of the real ones can very well make you face the real ones.

That is, suppose you say to an employee, "John gets half your salary and you're not better than him." Suppose the employee replies, "I could get twice as much at Microsoft." His alternative is real - he quits. Your alternative is not real - John is not available to replace the guy who quit. Now you're facing your real alternatives - which can be much worse than raising the guy's salary would have been.

Isn't it a better idea to consider your real alternatives during the negotiations?

To which one could reply - how bad those alternatives can be, really? I mean, we hired John, right? And he's just as good. So we can always hire this sort of person for this sort of price, right? Yeah, there are the training costs, but that's all there is to it, not?

I believe that there's more to it than training costs. The big thing is the project/person fit.

The project/person fit

It's magical. If a person wants to do something, I'm so much in favor of letting them, whatever other things they'd have to stop doing. I mean, there are things which nobody will ever do except the one person - or maybe one of two or three people - to whom it's important.

Or someone could do it, but not nearly as well. And not because he's "worse" - he may be "better" on all the common benchmarks (IQ, grades, reputation, whatever). He's not "worse" in any quantifiable way, but it just doesn't click - the project is not a good fit for him.

It's a depressing thought for a manager - a part of a manager's helplessness. A manager can't do anything himself - the most helpless creature around. He's always responsible for what other people do. He can pick the people, talk to people, negotiate with people, reshuffle people. But that is all he can do - and not a single bit of real work that must be done to make his project succeed.

This means an extreme dependence on other people, which is stressful. The project/person fit makes this much worse. You're basically constrained to not move people away from projects when there's this magical click. They're irreplaceable, so you depend on them tremendously - not very comforting. So it's natural to argue that this magic business doesn't really exist - everyone is replaceable.

Now, I'm not saying that people actually "can't be replaced" - far from it. That thought would make me lose sleep as a team leader - and it would offend me as a programmer.

I mean, if our processors are "universal computing machines", then surely programmers ought to be universal as well, right? I much prefer to think of myself a "replaceable cog" - but a universal cog - than an irreplaceable part of the peculiar machinery of my current workplace, obviously useless outside it because of my extreme specialization.

So actually I'm at the other extreme on this one, most likely - I don't think very much of "relevant experience", and I'll be the first to say that a person new to something will cope with it very well, don't worry. Everyone is replaceable, because everyone can deal with everything.

For instance, in our recent round of work on hardware verification, we had a tough deadline, so there was a single hardware module that 5 programmers worked on. Of them, 3 had no experience in hardware verification at all, so they had to learn about hardware simulators and waveform viewers and stuff.

Normally, just one person would do that work, but it'd take longer and we couldn't afford the latency. We also had to swap people in and out to do other things, and they had to continue where the previous person left. And it worked, basically. So I think I'm very much at the other extreme - programmers are universal, and they'll deal.

What do I mean by this "project/person fit" then?

What I mean is that there's still a 10x productivity difference between a person struggling with this important stuff that you dumped on them but they kinda don't understand or care about very much, and a person who wants the thing done.

Actually it's more than 10x - you can't quantify it, it's qualitatively different. A bird doesn't just move faster than a snail. You can't express the difference between crawling and flying in a single number, even if your HR policy mandates this sort of quantification.

People have their own priorities

A manager classifies things as important and unimportant, and he might be tempted to think that somebody gives a damn about his view of these matters.

But they don't give a damn. They classify things as "stuff the manager wants" and "stuff that they want". Stuff that's only important to them because you said so crawls. Stuff that they feel is important and interesting flies.

Managers might think that work gets done because they want it done. It's true - but the best work gets done because people who do it want it done.

And people are amazing in the diversity of their tastes. Taste depends on many things - personal talents and interests, personal history that makes some problems closer to your heart than others, and so on - but no matter what the reasons are, the result is that tastes are wildly different.

Consider the following things, all among the stuff our team works on:

  • A distributed build & run server.
  • A debugger agent - porting gdb to custom hardware and OS.
  • A graphical editor for tagging objects in video clips.
  • A static memory manager built around C language extensions and a constraint solver.

I think all of them are important, and all of them are interesting. As a programmer, I'd work on any of them. I mean, does any of this sound like boring grunt work? Certainly they're all nicer than verifying a hardware module that you didn't specify under time pressure, at least if you ask me.

However, in my team, there's just one, two, sometimes ~1.5 people who actually want to work on each of these things. Moreover, most of them have an aversion to most other things on the list.

Now, if it was strictly necessary, any of them would work on any of these projects. And they'd do a good job even if they got the one they hated the most. But it'd be uninspired, and nobody could blame them.

How easy is it to find someone who'd love to do a project? I'll tell you - real damn hard. I mean, I'm a language geek; in my opinion, everyone wants to work on programming language extensions. And you know what? They don't. Not really. Most don't want at all. Then many like the idea, in principle. But not that kind of language, or not that kind of extensions. There's no spark in their eyes - until the right person shows up.

Similarly with the other things. You'd think that a person who likes the debugger agent would also like the distributed build server, not? I'd expect that, definitely - but she doesn't. And you can't make someone like something. Usually you can't even pay them to like it. They just won't.

Some projects are optional. With these, I will wait for years until the right person shows up. I feel guilty - people are asking for it, it'd be great if we had it, it would become an enabler for things now
unthinkable. But who am I kidding? Nobody wants to do this now, not really. Better wait until he shows up.

When he shows up, what do I say? I say, keep him. Really. Don't let the thing turn into a wasteland just because programmers (actually) are universal, replaceable cogs!

Some projects are not optional - you must do them no matter what. When there's no right person to do such a thing - watch years of work, tears and sweat produce a mountain of code dripping with hate and depression. I'm serious - sometimes I can actually look at code and see how nobody ever loved it.

I've seen brilliant people produce disgusting code nobody wants to touch. Certainly I couldn't help it myself - my sense of duty did not help. I did it on time, it worked, and it was a toxic waste.

It doesn't help that the manager thinks it's important. It doesn't help that I agree with him. If I don't like it, I won't do it very well.

Sometimes - many times - the right person arrives years after the wrong people - the wrong people for this project - have been spitting blood trying to make it work. It takes a few months and the scenery is transformed. Mountains of hate are gone. You have a working system. People who lost hope for this particular area to ever become habitable, to stop smelling of fail, suddenly smile.

Would you let that person go, just because John is "just as good" and you pay him less? There is no way that John is going to take over this thing. Even if he's available. He isn't interested. He couldn't care less. He could take over just like anyone else, but it'd be toxic waste all over again. Come on!

Sometimes a programmer will be moved away from a project - or not be allowed to do it - because of his already high compensation. "We can find someone cheaper to do this". Yes - but not someone who wants to do this! This just brings tears to my eyes.

But if he loves the project, he won't quit, right?

Good thinking. People who can be replaced with someone like John should therefore be compared to John. People who can't be replaced with someone like John can still be compared to him - they're the ones who love their work, so they likely won't quit, and then we can sensibly compare everyone to everyone in a reasonable manner.

They'll quit.

They'll quit even if it's "irrational" for them. People can quit a project they love over compensation, and then spend years until they find something nice to work on. Often they feel it wasn't worth it, or at least are unhappy with their working situation.

But it doesn't help that you were right and that they should have stayed, settling for the fair compensation level of John and working on their favorite stuff. It doesn't help because the loss is yours as well.

Why do people behave in this "irrational" way, apart from having too high expectations about their alternatives? The economist David Friedman gives an evolutionary explanation, if you like that sort of thing:

…human beings regard the usual terms of exchange as right and any deviation from those terms that makes them worse off as a presumptively wicked act by the other party. This feature resulted in human beings that possessed it getting better terms in bilateral monopoly bargains in the environment in which we evolved…

"Bilateral monopoly" is basically the situation you and your employee find yourselves in once a project "clicks" with him. It's hard for you to replace him - and it's hard for him to replace you. This may tempt you to lower the price you're willing to pay. The response Mother Nature had equipped us with for these cases is that the employee thinks you're wicked, and he quits.

This reaction is "irrational" - in the sense that he's now worse off. But it's very much "rational", in the sense that the threat of "irrational" quitting should improve his terms - if you know that the threat is real, despite the fact that actually quitting would make him worse off.

Well, in my experience, the threat is very real alright. Worth taking into account.

Why management likes to set standard compensation levels

I suspect the benefit is that it makes decision-making easier on the scale of a large company. It works reasonably well and is very easy to implement. It's a bit like using a simple heuristic in code because it's just 5 lines of code and it sort of works.

"Bounded rationality", if you like (…isn't "bounded rationality" what used to be called "stupidity"? Aren't "the cognitive limitations of the mind" mentioned in the article also called "stupidity"? I'm not mocking stupidity - I'm certainly equipped with a high degree of stupidity myself, and you can trace its influence on my decision-making. I'm just wondering why invent new terms when we already have perfectly good ones.)

Anyway, if you know why standard compensation levels are a good idea - a rational argument for them in an unbounded way - let me know in the comments. Puzzles me plenty.

14 comments ↓

#1 Bryce on 01.03.12 at 2:06 am

Compensation, business, have little to do with reality. It's very much what you can get out of the other party. If the answer is "nothing or very little" there's no reason to stay regardless of what you do.

You may as well quit and do something you love a while or in your spare time while you work somewhere that appreciates you.

#2 Yossi Kreinin on 01.03.12 at 2:13 am

I wouldn't go as far; if business has little to do with reality, then what does have much to do with reality? I mean, most real work gets done through some business arrangements, and people have all the reasons to look for real ways to get more for less.

#3 Dan on 01.03.12 at 6:46 am

Great post, couldn't agree more with the sentiments.

I am, IMO, a good firmware developer, tech writer, hardware designer, and not so bad manager. I'm also plenty bad at many, many things.

Anyway, I could get a job doing any of the 4 things that I'm good at, and each of them would pay pretty well.

But for me to be paid very very well, for me to be personally & professionally fulfilled, and for me to be used to my maximum potential, I need a position that requires and uses *all* of these talents. Those positions don't just grow on trees, and in my case it's usually a smaller company that needs such a person. But when you find the fit, it's very comfortable for both sides.

#4 Yossi Kreinin on 01.03.12 at 9:16 am

All of those 4? Interesting. Just in case - if you'll be looking for something - keep us in mind :)

#5 Bryce on 01.03.12 at 7:08 pm

I have a family member in the military who's had about 20 million dollars in training. By the logic you're using it makes sense to pay him a very large salary indeed, but if they spend a lot to retain one person or even a small group it is hard to justify to others a much smaller salary, even if they are in a less critical position. You also can get a problem where many people are then competing for this job they only want for the money, which doesn't work out well for either programming or for combat.

You're concentrating on the product but production is only a small part of a business. The computer science corporation has many products they bought out for the old customer bas just to milk out tech support fees.

Employees in production are invariably a commodity. You don't really make any profit for the company, by business logic, you're just an expense. Your product itself has a certain level where it's "good enough". There's many ways they can achieve that including contractors who can be hired and fired with no consequence, even if at greater expense. The expense can be offset by the lack of need to manage them, too.

For management the goal is generally to keep costs down for production jobs while maintaining that "good enough" state. If they let salaries creep up too much for even one person then it just gives fuel to others to get higher salaries. They don't want to fire people or have them quit too often but if a highly talented programmer leaves occasionally it's a small price to pay so long as they can keep things in decent shape. Especially with programmers who like you said tend to have just a few good things they'd want to do at a particular company then may well be largely dead weight once they are done.

For sales and marketing jobs there's a direct and easy to measure profit. You get a check and the sales guy gets a percentage and marketing gets points, and if the numbers are bad they are out the door. To really manage techies would require being a techie and managing isn't about subject knowledge it's more high level than that. So you can't expect them to go overboard too much for one person, but on the other hand if you are continually shut down whenever you bring up a pay increase you don't have any real choice but to move on to greener pastures.

#6 Bryce on 01.03.12 at 9:11 pm

Hopefully that didn't sound too pompous, but the gist is a business is more like a scoial heirarchy than an engine. You can't really look at input of labor and output of utility and judge value on that, even if it were easy to do so (which it isn't).

If you fire all your marginal workers or people who get old and crufty then it causes labor problems, makes people wonder if this is a good long term place. If you give great compensation to the best employees you get a lot of resentment in other employees at the same level.

And how do you tell who that great worker is? how do you trace all the way through from the low level to the end result of sales and a good product? It's very difficult, and ultimately requires relying on some lower level management to make those decisions.

But if someone is good at telling who is a good worker from an interview, how valueable is that? It can be incredibly valuable, of greater value than any one worker.

It's true you need to go into management or have some sort of leverage to get money but there's more to it than buerocracy. You then become responsible for some small segment of the business, and then the upper management can take it off their plate and get back to higher level decision making they are (hopefully) better equipped for.

In every business lots of seemingly questionable decisions get made. Much of that is because managers recognize it's a social construct not a machine. Just making your product well possible is secondary to keeping the organization stable and healthy.

Anyway that's a speech I got a long time ago from the CEO of a company I worked at as he explained why the maximum I (or anyone) would ever make without running his own office or being at corporate would never be more than X no matter how much money they made the company, and a frank assessment that I was too inexperienced to take on that burden. That might make you dismiss it but it was one of those surprisingly frank moments that you sometimes come across in life.

#7 Bryce on 01.03.12 at 9:14 pm

Not to mention if you then screw up, as a manager, you can be let go with no resentment from other employees. They see there's a path for advancement, a future, but if your slowly but surely increasing pay becomes too much to sustain nobody weeps when a guy with a corner office and great car gets let go, especially if they did something to lose the company money.

#8 Yossi Kreinin on 01.03.12 at 10:51 pm

Well, I dunno. "More than X" - what was X? Quite some people make quite a lot of money without running their own office.

#9 Bryce on 01.06.12 at 7:16 pm

More than I'd make at microsoft, but the point was just that it's vastly different to play chess than to play poker. Just like when you compete for women you are probably better off not to worry about inputs and outputs like money you make, looks, etc. and expect to get rewarded simply by being better/working harder. You undoubtedly have good points you can't think of and there's undoubtedly women who will appreciate different things than the obvious, so by meeting a lot of people (advertising) and getting to know them (marketing research) you have a much better chance to find a good partnership for the business venture of love.

But sorry, I know I sound like a pompous ass. I don't really know your situation and this is probably meant to be more hypothetical than anything, but to steal your analogy from last post labor is a lot like fuel and you are the fuel provider. To a business it's most important to have a stable source of fuel, and to keep costs from running up too high.

#10 Yossi Kreinin on 01.07.12 at 10:16 pm

Well, sure, likewise it's important for me to keep compensation from falling too low. As to the mating analogy - entering that territory is economic imperialism gone awry, IMO.

#11 Larry Dennis on 10.08.12 at 10:39 am

Have you every noticed those employment ads that have listed DOE in the compensation column? It has been my observation that it isn't how much experience you have in a skill that counts; it's how much skill you have negotiating the salary you want.

#12 Yossi Kreinin on 10.08.12 at 12:47 pm

@Larry: I think it's a combination; you need some sort of skills to sell and you need to be somewhat good at selling them, and you can trade one for the other to an extent.

#13 unixdj on 10.22.12 at 1:39 am

> As an aside, I don't understand evolutionary definitions of "rationality", not really. I mean, if the ultimate goal is to pass your genes, shouldn't you become a serial rapist targeting nuns or someone else who isn't likely to use abortion?

No, because you're likely to get caught and punished severely if you do that, probably before a significant number of impregnations (the number which is enough to have one child surviving until procreation, i.e. 1 in the modern world). Because societies that didn't do that to serial nun rapists didn't survive. Ostracising bastards ("illegitimately" born children) may also have something to do with it, ugly as it sounds.

Come on, the world *is* rational in the long run (as you said re RISC vs. x86), so if a certain behaviour is overwhelmingly popular among human societies, it probably means it worked better than the alternatives which have been tried until now.

#14 Yossi Kreinin on 10.22.12 at 2:41 am

The world is "rational" in the sense that you mention, of course. The question is whether said rationality responsible for survival of societies is individual "selfish gene" type of rationality or some group rationality. A serial rapist targeting nuns will be much more successful today than you portray him - but you don't need to go down that path; a serial sperm donor will be very successful. Most people aren't serial sperm donors, including people believing in "selfish genes", and said people thus admit that their own behavior is not rational based on their own definition of "rationality" (doing everything to pass your genes along).

Leave a Comment