Hacker News new | comments | show | ask | jobs | submit login
Poll: Would you pay a developer who is 3x as good as average, 3x the salary?
18 points by chime 1930 days ago | hide | past | web | 53 comments | favorite
If a single person can accomplish everything that an average team of 3 programmers/designers can, in the same amount of time, would you compensate the single person at the combined pay of the 3 average employees? The single developer will provide the same level of documentation, testing, communication as any average team of 3 would.

Certainly there is a lot of benefit to having a team of 3 (basic redundancy, knowledge transfer, mix of ideas etc.) and just as many headaches (management, HR issues, conflicts, communication problems). However, if the final product (code, presentation, documentation, delivery etc.) from both the single developer and the team-of-three are similar, would you consider hiring the single developer at 3x the salary of others?

And why or why not?

Edit: I should add, this is not a rant/complaint/request-for-job/rockstar-rage but just a question that came up while discussing labor market, economics, startups, and above-average skills with a friend.

Maybe 1.5x - 2x average but no more
73 points
53 points
47 points

I guess I'm one of the few guys that WOULD pay 3 times as much. Maybe I'm a dumbass or maybe just an emotional decision maker. If I had someone like that I would never want to lose them, so yes I would pay them more. They're doing 3 times the work. If it were me, I'd appreciate being paid more because I know what it's like to work harder than everyone around you and get paid less than everyone around you (Taco Bell, my first job, I was one of the longest working employees surrounded by endless no-call-no-showers).

Then again, I go the extra mile because I actually like to, not because there's incentives. When I do something I want to do it for the emotional reward, not for the money. So I'm kind of afraid of the money messing with me psychologically.

The three developers suffer from Conway's law[1], unless working very closely. And more people take more space, which costs more money. So, in general, more people, even the salary cost is the same, is a worse deal economically.

But you may not notice the issues with only with 3 people. Try comparing 30 vs 10.

[1] http://en.wikipedia.org/wiki/Conway%27s_Law

It becomes even more obvious when you consider more and more talented workers. I've met people that were easily five or ten times better than their peers, and they were the difference between a tightly-coordinated three-person team and a fifteen-person failure.

That's pretty much where I was going with, with this poll. There are developers who are 5-10x better than average but nobody would think of paying them 10x the average coder's salary while working on the same type of projects. Even if you can write insurance-claims-database-guis 10x better than average, you won't get 1.5x the average salary.

This poll doesn't really pertain to hiring super-talented people who build JS VMs for Google or rich-UIs for Khan Academy. I'm just talking about productive developers who can do the same thing that usually requires a team of 3-5 average developers.

Right, one of the things that has to be clarified is that there are developers in the industry that should not be in it. If we isolate them away from the conjecture and only look at good developers then the question becomes interesting. Say you have two people that can and have proven that they can deliver. When you take totally bad apples out of the equation and only look at competent developers it does become an interesting question. Personally I side with paying the better developer, unless it would be the only developer. It's a huge risk when your entire development progress hinges on one person. Now in a team of 5 or 15 where delivery will happen either way. I would still opt for the 5. I believe that 3x developers can make more creative leaps from understanding a broader picture of what is being developed.

This perception even has a name: Net Negative Producing Programmers[1][2]

[1] http://blog.jayfields.com/2009/01/cost-of-net-negative-produ...

[2] http://en.wikipedia.org/wiki/NNPP

I look at this question from another perspective: if a programmer can create 3x more value than an average one, I am more than happy to offer 3x salary. One may ask how do I define value? Well, examples include easy-to-read documentation, clean, expandable software architecture, a cheerful attitude, ability to work with less-bright team mates, even someone who doesn't take oneself too seriously is some kind of value to me. On top of these, in most programming projects, quality of programmer is way way more important than the quantity of programmers involved. In other words, if given a choice of one smart programmer with 3x salary or 3 average programmers with 1x salary, I would choose the former in a heartbeat. Of course, the HR definitely won't agree, but for my own business, top programmer will always fetch big bucks. I am talking from my current experience of managing a 10-person programming team.

> How do you define 'good'?

I think your definition of 3x more value sounds pretty good. There is no single definition of good/value/great/perfect, it's a balance of many characteristics. But for this question, assume they are equal in both.

Yeap, all these metrics are relative, and driven mainly by market force

Assuming its my company and we're a small outfit I'd love to have them but I wouldn't pay 3x (or even 2x) overhead.

1) At a 3x salary you'll need to lose two other employees and sacrifice the redundancy, idea mix etc that you point out. Reducing the HR etc overhead by two employees is far less of a gain.

2) Their higher output is going to be at least partially due to more intensive work habits which may not be sustainable over the long run.

3) If they ever decide to move on you need to hire three replacements and hope they work out and can take over from your superstar without losing too much momentum (all without ever meeting the guy since its unlikely you'll find & hire them within his two week notice period).

Agreed with (1).

I don't know if (2) is necessarily true. Experience, skills, talent, and ability to focus well could easily make this sustainable.

In my experience, (3) happens when they were hired at 1x salary, proved themselves to be 3x as productive, but continue to get just 3% cost-of-living raises. If you compensate them well (and the work-environment remains hospitable), they have very few compensation-related reasons to move. Nevertheless, I agree that they can still leave due to personal reasons.

I would pay 3x the salary, because a 3x developer creates a lot more value than that

Many people (including op) look at the 3x in a linear fashion. They think the 3x programmer is working 3 times faster, like a 3ghz CPU to 3 1ghz CPUs, or that they work 3 times longer, or a combination of these. This leads to 3 times more code, documentation, delivery etc. of exactly the same quality

I've never met such a programmer

Usually the <magnitude>x comes from better quality, and less quantity. So the 3x programmer has achieved 3x the functionality as requested, but that code base is likely 2x - 3x simpler, with 3x less bugs, which combined is closer to 6-9x easier to maintain. This code also influences the cost of code built on top of it. So the value increase in some areas is exponential rather than linear. You're unlikely to get this exponential increase in value from 1x developers

Another exponential value characteristic of 3x developers is that they have much better decision making. Maybe that means choosing the right tool for the job (choosing a distributed DB in stead of MySQL when you know you need scalability) or designing a customer facing UI. Recovering from a wrong decision can be very costly

These exponential traits mean that the earlier you are in a project, the more value there is in hiring that 3x developer

No, the most important thing to me is reliability not skill.

I only need one skilled person to solve the curly problems, what I really need is people who do what they say they are going to do without screwing things up.

That said that one person will probably be in an elevated position of responsibility and have an elevated wage respectful of that position. So as a senior role he would have more, but not to skill alone, also responsibility.

I don't think it is viable to have, in this case, a 150k-400k pay gap between employees at the same "level". It would be impossible to conceal, therefore the team would have to form around the higher paid individual. Fred Brooks speculated about this topic in the Mythical Man Month in the "Surgical Team" chapter, and it still hasn't become widespread, or even narrowspread AFAIK.

I think it would be viable to have all programmers like this at a single company. I've heard anecdotally that some financial firms will pay salary in the 500k range in order to (a) attract world class talent and (b) ensure loyalty.[1]

[1] For example: http://en.wikipedia.org/wiki/Sergey_Aleynikov . According to Wikipedia, making $400k before he quit, and he was involved enough in coding to try to take some of it with him. I actually don't know that this is materially more than he would have been making at Google, I tried checking glassdoor.com but what is listed there doesn't match what I've heard.

Yes, in theory. But it's too hard to tell. I'd pay slightly more, in the hopes that the competition would generally be too dumb to give them even a slight bonus.

And if all the smart people think like I do (and there's enough dumb managers to keep productivity-linked pay from actually happening), that's an even bigger reason.

Sorry if that's not an encouraging answer.

I think if you are 3 times better than Joe average, you should probably use two thirds of your time to create something noteworthy. For example write a technical book or create a popular framework. Then you can justify asking for a lot more money. Google seems to have hired lots of folks like that, for example.

As mentioned redundancy is important but you can accomplish plenty with just one developer to start, think ruby, python, ruby on rails, javascript, etc.. Based on my gut feeling I answered yes although this sort compensation seem to be rarely practical. It's a simple poll to a sophisticated problem. What if you can only afford to pay for 2 developers ? Or you can afford 3x the pay but the developer can really perform the task of 10 developers ? Moreover there are other variables that are not easily quantifiable in a pay check but may be important to the developer like the company's culture and reputation.

I agree. This is a very simplified version of an immensely complex issue. In short what I was trying to ascertain was - is there a linear relationship between productivity and compensation or is it close to logarithmic?

First of all, I would assume that you already know this person and what he's capable of.

Hiring someone with a 3x salary just because people say he's good or is a Rockstar in the community doesn't work for me.

I experienced several situations where a Rockstar didn't match expectations and unknown guys had to clean Rockstar's mess when they left.

I'm not saying that Rockstars are shit and you should not hire them, what I'm going to say applies to everyone:

Hire this person for a X amount. If he excels at his tasks delivering what you want, and you realize that his performance if above the average, raise his payment and both of you will be happy. Both sides win.

This question is about managing risk.

Risk of the person leaving is probably highest on the list.

You see 2x or 3x the normal rate in consulting. You are paying for a temporary boost in expertise.

Salary wise it usually doesn't happen because you don't want that much risk.

Risk of the person leaving is probably highest on the list.

Assuming that leaving could be solved for in some form of contract or golden handcuffs, I would consider it. As much as there are drawbacks there are also benefits. Such as a person with 3X the companies overall technology picture in their head. A flatter knowledge structure. More accountability, so it does cut both ways, I would have no issue paying 3X for the tradeoff, so long as they where not my sole employee. In a sole employee situation I would prefer hiring a 2X and a 1X over a single 3X unless it was a temporary project based effort. The harder issue up front would be how to identify the 3X developer. I have a good process for spotting talent, but there is a gradient within that talent. Some are a good deal for market rate, other are what are refer to as the 10Xers and worth far more than they can command. Both are worth hiring and are above the industry but spotting the 10xer up front proves to be a daunting task.

Yours sounds like a question assuming all people can build all software. That is simply not true. Sure, if you want to build some enterprise software with open source tools, hire an average bloke with XP and TDD experience.

I would pay someone 3X the salary to someone 3X "above average," but that does _NOT mean that s/he would accomplish the work in 1/3 the time at the same quality.

The difference between _brilliant programmers and average programmers is MASSIVE: someone 3X as "good" needs to be paid 3X the salary because they can create something new, imaginative, life-changing.

Reading the comments so far, this question seems to necessarily raise another:

What is the best team size?

Let's say it's 3. (1 has too much risk and 10 has too much overhead.) Once your productivity needs exceed what 3 average developers can accomplish, if you place importance on team size, it makes sense to pay more for higher performance in order to avoid increasing the team size.

It's like paying to upgrade hardware on the network nodes you have (which exist to mitigate risk), rather than distributing work across more and more network nodes.

I would pay them 2x or so and ALSO hire a second junior/entry level developer with the remaining budget. The senior developer benefits by having a sounding board and someone to put more menial tasks to. The junior developer gets great experience learning from a wizard, doesn't get stiffed on pay, and provides the n+1 redundancy needed to at least keep the project going if anything happens to your superstar.

By 3x as good, do you mean they can develop things faster, with less bugs and with better quality code? If so, we would definitely pay a premium.

I'd rather have something developed in 10 days at a daily rate of $500/day rather than have it take 20 days at $250/day.

However, I wouldn't fire 3 developers to get one "amazing" developer. What happens if he/she gets ill or decides to leave? You're suddenly left with no developers on the team.

I wrote about this not long ago on my blog: http://www.forouzani.com/would-you-pay-2x-for-a-10x-develope...

I think the short answer is that startups should be hiring for 10X devs, without having to raise their prices.

But, in the real world - you usually get what you pay for.

As an employee it is your goal to get good-enough renumeration

As an employer, its your goal to get as much done properly as possible for as little as possible

An employee doing 3x the work for 3x the salary is no more effective than 3x workers, as yu explicitly said all else was equal.

Employer snags a 3x for 1x salary and they are winning.

(Why I find self-employment = self-fulfilment)

Yes, I agree 3x performer should get 3x benefits but may not be in the form of salary alone. These guys would like super work environment, control on their plans, even top performing teammates around and long term benefits.

If you don't have productive environment & plans, even these guys can perform below 3x I guess.

Yes, and here's why. it's not about project productivity, it's about building your company. "A" players hire "A" players. "B" player hire "C" players. "C" Players don't want to look bad so they hire "F" players.

That being said, I wouldn't pay them 3x in straight salary. Equity and profit sharing is a better motivator.

I don't know if Ive just seen too much but equity is one of the poorest motivators you can give me. I don't think I'm totally alone in this sentiment in that it seems like many are trending towards cash payment over equity.

Agree.. i'm programming in a pretty demanded field, and am motivated way more when my employer agrees to pay the salary i'm comfortable with, rather than trying to negotiate with worthless equity (exception for when the company is already profitable, several rounds of funding in, and the equity actually has a quantifiable value)

So, if you were an early stage Google or Apple employee you would take salary over stock?

Yes and I would have lost out. I think what you are missing is that Apple and Google are 2 companies out of a 1000 or more that didn't make it. One top of it, in the beginning stages it is virtually impossible to know if you are in a winner or not... a friend of mine was employee 300 something at Google and thought the company was going to go nowhere. He took the job as a filler job with intentions of jumping to something better when it came along.

Equity is very similar to the lottery... a few will win hugely large while the masses will mostly receive nothing. Thats how the system works. Ive taken equity and cash at different times over the years. Its not a scientific breakdown but through experimentation the decision to take cash over equity has been reinforced over and over again. Additionally despite my one very fortunate friend, everyone else I know in the industry is far from struggling financially but generally agrees from their experiences that equity is very much just a lottery ticket. (And even if your company does end up being 'the one', you still risk getting screwed out of your shares.) I'd rather have cash.

Let me put it another way. Let's say you were flush with cash for some reason. Would you ever invest in an early stage or startup company? Would you ever invest in any company?

Or, do you believe it is impossible to know, or at least approximate odds of, any company's chance of success?

Let me put it to you yet another way. Which is more likely to go out of business in the next two years, blockbuster or BP? If you say blockbuster, why?

If I had buckets and buckets of cash I definitely would invest in early stage companies. I'm not saying that early stage companies are shams or are always deemed to fail or that your equity will always be worthless. The problem in my mind is that as an employee you have little to no ability to diversify your equity as an investment. You are all in with one company for usually 4 years or more (which is about 1/10th of your working life).

So now in regard to gaging the success of your company and your investment... I think it pretty easy to forecast the coming trends in the technology space. For example I think its pretty easy to foresee that the internet is going to eventually eat traditional cable providers as its great at eliminating the middleman. There are going to be some big winners in this space and there are lots of early stage companies looking to ride this. But who out of them is going to be the big winner or few winners of this space? - your guess is as good as mine. As an employee I have to pick one but as a VC or investor I can invest in the general space knowing that somebody in my portfolio is probably going to win this market.

This is the reason I take cash - its not that I don't want to invest in equities, its that I want to have the freedom to put that cash into diversified equities.

This is very illuminating; thank you for sharing your thoughts on the subject. I can see where you are coming from in regards to diversification, although I take a slightly different angle. If I'm taking 75% of the salary I would in a fortune 500 gig, I already consider myself 3/4s diversified. Plus, I can always work 4 startups in 4 years and just take the first cliff worth of stock, which diversifies even more. Granted, it's no mutual fund, but it's not "I'm locked in to one company for 1/10 of my life and if they go under I'm bankrupt". It's a little less money for as long as I choose to work there in exchange for a potential return on investment.

If I were go back and look for an equity heavy gig, and I don't plan to, I would look at the entire process as an early stage investor. No, I can't invest in 10 or 20 different companies, but I can be selective and increase my odds. Actually, anyone with my current skillset could walk into any startup in the valley and start working the next day. That is something few, if any, angels could do.

Do I have other developers? If so, I'd have to consider the effect of hiring that 3x guy on my other developers. I'd assume the other developers are going to find out that guy is making a lot more than they are, and if that doesn't appear justified to them, there could be problems.

The average is a pretty low bar in our industry. 3x as good as average is like the bar to even be employed in a small team environment.

With that in mind, I'd say that the industry is already paying 3x developers around 1.5x to 2x and lately it is moving into the 3x range.

3x developer is equivalent to Triple-Core Processor...you will see the increase in performance but that won't be 3 times more, so I will pay accordingly.

No. You pay them good bonuses but the way you actually pay them is by giving them more responsibility, authority, and titles and putting bigger and bigger projects under their belt (which will make it all the easier for them to find better and better jobs in the future). And equity, of course.

The way for 3x or 10x developers to earn that multiple in pay is to become consultants or founders.

No because none of them will ask for more than double so there's no need to pay them more.

I added a 1.5x - 2x option.

I think the real question would be if that is sustainable, so I am voting no.

I would rather hire a beginner developer with the right personality and attitude, and assimilate them in our company culture.

Senior developers are too arrogant these days...

if im a startup i wouldn't pay more them minimum wage. If im profitable i'd pay him whatever he'd negotiate.

i'm obviously not counting options or equity. But also, someone that proved to be 3x times as good (cos being 3 times as good cant be shown in an interview, it needs to be proven during the course of a few months maybe a year.) he/she would get special privileges, like pick his own working hours, customize his workstation and location anyway he wants, etc.

This is a very complicated/dense question that depends on a lot of factors so I'll be making some assumptions.

First let's address the case where it is a large corporation:

- The risk of the 3x-dev leaving wouldn't be much as it is a large corporation and hence there are mechanisms at place that are ready to fill the 3-devs gap he will make if he left at any particular time.

- It is very economical to pay 3x salary for the 3x-dev as it saves on managerial costs.

- Promoting the 3x-dev to a team leader or a senior position is a good strategy as it will increase retention chances with him and also promotes sharing experiences and knowledge.

* Hiring 3-devs is rather a tedious task and have a significantly higher managerial cost, and the risk of them leaving is even higher as they won't feel that much special, hence no early rewards and the eventuality of them looking for other options out there.

* I daresay there is a statistical certainty that the 3-devs won't be on the exact same knowledge/experience level which will result into communication overhead that includes the assumption that they are good at communicating in the first place.

Office politics will make things even harder if you promote one of those 3-devs - that you hired at the same date - to reward a personal achievement of sorts.

Now in a small company/startup:

- Hiring the 3x-dev involves a high risk if he's not rewarded often with more than just a bonus or a salary increase, like a piece of the company that he helps building.

- Hiring him will cut down on managerial expenses greatly, and will result in a much smoother development process.

- There's no body that of concern to compete with head to head and even if there were, they are supposedly experienced and professional enough to keep things light between them and focus on delivering results.

Hiring the 3-devs have a very high risk if they _are_ rewarded equally - which you hired them at the same date - simply because you are normalizing their efforts and hence creating a class of sorts which can and in fact will backfire. Now if you decided to pay attention to every developer separately, that might create jealously, which can be a positive thing, but it largely depends on the company culture/atmosphere you have and it is quite tricky to maintain.

* There's a managerial overhead that won't be easy to maintain since this is a small company and you yourself have things to do better than maintaining logistics/communication and team spirit.

* The fact that this is a small company by definition will require a diversified skill set, flexibility, and not just willingness to learn but rather knowing how to consume knowledge fast and turn it into an actionable skill, while this is questionable although highly likely, your 3-devs will find it difficult - and quite overwhelming - to take over the many tasks that require different skills in the tight time window and stress that comes with all small companies. But this also depends on how you structure your company culture/political-atmosphere, and yes there will always be company politics whether you like it or not, even if you intentionally and consciously try not to develop them.

All in all, I believe that every environment and work place is quite unique. But from personal experience over multiple quite different industries, quality comes before quantity.

So my short summarized answer is to go with the 3x-dev and give him 2.0x-2.5x if it were a large company with short period rewards, or give him 1.5x-2.0x if it is a small company with emphasis on long term benefits/interests coupled with exciting/teasing short term rewards.

A hacker that was 3x as productive as the average hacker in my company that specifically wanted 3x as much pay, as opposed to other benefits, as my average programmer would be suspicious to me. Great hackers want to be paid well, but they generally first and foremost desire other things, like benefits, control, respect, and a good working environment. Anything beyond the pay at which they become stable financially generally is of a limited appeal to great hackers.

How would you determine that in your hiring process?

I've done a lot of interviews, and I can tell you, with the exception of a few famous superstar developers, it's practically impossible.

So yeah, the answer is "yes", but the question is equivalent to "Would want to always have perfect health, if you had that option?".

Agreed that you may not be able to judge while hiring. But if the developer turns out to be great, will you give a great bonus and hike? That is also a good option if one turns out to be a great developer.

> How would you determine that in your hiring process?

For this experiment, let's say you could compare their past projects (code, product) and they were on equal footing in quality/performance. Or they are consultants you've worked with, have a good measure of their productivity/work-quality, and want to hire 1-super or 3-average of them full-time.

>>> If a single person can accomplish everything that an average team of 3 programmers/designers can ...

I do not think that this is how it really works. It is more that that one person understands something that these three others do not. For example, the problem can only be solved with a complex regular expression. This guy understands it. The three others do not. That is why you do not see the difference in 99% of the project. It is in the 1% that truly requires his talent, that the 3 guys get stuck forever, while our guy manages to complete the project. If your project does not require any particular, rare understanding, you will not even see that this guy is so good.

related question: would you pay a single employee who is 40x as productive, and can single-handedly replace a team of 40 (with heavy scripting of course)...one million dollars per year.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact