6 ms·
Why programmers are not paid in proportion to their productivity (2009)
- modbait 8y agoGood insights. In addition, there are good reasons to think that the value that programmers produce isn't even measurable in any practical way. A couple of years ago, I spotted a latent bug in a piece of core infrastructure software that would have caused a lengthy world-wide outage of the company when triggered. I can see that that saved the company at least $10M. But how can managers/HR/etc measure such effects? And how can you account for it in compensation, even if you wanted to? Programmers--like many other professionals--are simply paid the least possible needed to keep them in their seats.
- walshemj 8y agolikewise I found a bug on a major UK website that was costing them > 500k£ per week an also early one the web as one of a two person team delivered I a month what another part of the company has quoted as a 2 year project :-(
- ghufran_syed 8y agoYou should have quoted them a 1-year project, at some eye-poppingly high rate to solve the problem
- skookumchuck 8y agoWhen you save a company $$$, it's important to bring that up at annual review time, and definitely place it on your resume.
- dilyevsky 8y agoAt Google I was explicitly told not to use $ value in my perf review/promo form by multiple managers. There and at other companies i worked for i found that management cares more about revenue (more engagement, new features, releases, etc) than costs (code quality, performance, etc).
- ehnto 8y agoInteresting! I have had the opposite experience at smaller companies. A cynical view might be that in larger companies, the goal setting only materializes as dollar values higher up the chain so that they can benefit from that negotiation leverage. A less cynical view is that business-speak and goal setting naturally abstracts away from money as you try to manage larger goals down a chain of people.
- AznHisoka 8y agoMaybe its just me but everybody seems to follow this advice in resumes these days. It has gotten to the point where I become more skeptical of the candidate because I highly doubt a single person was responsible for $x million in addition revenue (even if it is true) I wonder if the best advice now is simply put your impact in non-monetary terms in your resume.
- skookumchuck 8y agoYou're right to be skeptical of any claims in a resume. I've seen an awful lot of resume padding. Be prepared to back it up in the interview.
- modbait 8y agoUnfortunately, mentioning this politically sensitive issue in such a manner would have been career suicide. (And I suspect that this is not rare for such black swans.)
- ehnto 8y agoA good accountant can save you hundreds of thousands by spotting misreported line items. Bugs in your accounting so to speak. Being able to demonstrate tech cost savings in monetary value is a very powerful skill to have come negotiating time.
- whack 8y agoThat's the problem with being so good that you make it look easy. Everything thinks that it's actually easy, and no one gives you credit for it. The military periodically runs war-games, in order to assess the effectiveness of various tactics/strategies/leaders. I wonder how much we would learn if the major tech companies periodically did the same thing. Come up with a complex task, spin up multiple groups to work on it in parallel, and examine what exactly each group does and how well that turns out.
- Retra 8y agoThe military's peace-time job is training. Companies do not have peace-time, so they don't have time to train like that. It's too expensive. (Or at least, that will be the argument.)
- trendia 8y agoGoogle does this to a degree. They sometimes give the same project/goal to multiple groups and pick the winning one. Unfortunately, in the long run this decreases morale because you don't know if the project you are working on will ever be used
- Boulth 8y ago> Google does this to a degree. They sometimes give the same project/goal to multiple groups and pick the winning one. Yep, we've seen that with their messaging platforms.
- auxbuss 8y agoI'm reminded of The Soul of a New Machine[0] by Tracy Kidder. Essential reading, even today. [0] https://www.goodreads.com/book/show/7090.The_Soul_of_a_New_Machine https://www.goodreads.com/book/show/7090.The_Soul_of_a_New_M...
- iteriteratedone 8y agoIts called a hackathon ... and who knows the honest results of a war game ... better than doing nothing , but is any one (includong you) hiding a tatic??? ... For there to be true estimates there must be clear goals, something that biz and product dont seem to care for in totality. Once we get clear goals then we can compare dev abality. My experience is that you always have to be part your own project manager and dev op. In an ideal world the project manager would tell me to jump and i would ask how high? We need as clear instructions as the machines we pass them onto ... without the semicolon. Otherwise we are partially doing the pm job.
- qume 8y agoFTA: "Programmers are most effective when they avoid writing code." I'll take an average coder who only codes what is needed over a brilliant one who is constantly going down rabbit holes unnecessarily.
- sebleon 8y ago> brilliant one who is constantly going down rabbit holes unnecessarily Ha, sounds like an oxymoron
- qume 8y agoI see that, but one type of really good dev is one who is super focused on the small details, and it seems to be human nature that it's hard to do that well and keep the big picture in your head at the same time. I think these guys are totally capable of thinking big picture, but they are often just not in that 'mode' and hence the tendency to inadvertently find themselves writing code that if they took a breather and sat back and re-evaluated, probably wouldn't write.
- frank_nitti 8y agoMaybe - I think the missing component is their level of "laziness" as Bill Gates defined it. A brilliant, but "lazy", coder will find the most efficient way to compose a solution that meets the requirements. But it's definitely not an oxymoron to say that some brilliant coders can go down rabbit holes at the expense of their own (and company's) time and productivity. They may spend lots of time reading white papers, improving a design/implementation/test-suite beyond what is required, etc. It's just these coders don't place a high value on being as efficient as possible from a PM's perspective, but might be able to solve a problem 10x as difficult as the guy who is closing his tickets within hours of assignment.
- Retric 8y ago'efficient as possible' is only measurable in terms of the task at hand. Being smart educated and hardworking does not necessarily make you better at your job if you spend most of your effort tilting at windmills. At times it really is better for everyone to just move on from a comfortable position and stretch your wings as it where.
- jriot 8y ago> They may know where to find reusable or re-editable code that solves their problem. They may cheat. I have done this since I started learning to program, which is only 4 years ago. I have been able to complete many tasks quicker than my co-worker. I always assumed I was going about it lazily and not working hard enough compared to him. My boss believes I quite productive and gets things done efficient and correct, so I kept doing these practices and only writing code that needed to be written from scratch. I supposed my intuition wasn't wrong - even though it felt guilty.
- sebleon 8y agoI'm generally baffled when companies opt to hire a junior dev for ~$110k, when an additional 30% more income can get them someone 10x more productive.
- koolba 8y agoOr they spend the +30% and get someone who’s just as productive or 10x less productive. It’s not a magic price performance formula.
- hinkley 8y agoHave you ever worked on a team with only senior people? Nobody wants to do any grunt work. So everything turns into an overly automated nightmare.
- kazinator 8y agoOr they can get two competent testers. :)
- analog31 8y agoI've told my boss: You can get two junior technicians for what you're paying me, if hours of "productivity" is what you're measuring.
- PhasmaFelis 8y agoSource?
- mianos 8y agoThis also happens in practice because the super experienced 10x guy has not balanced a RB tree or some similarly 100% solved std library algo in practice for 20 years and won't even get the job. The young 1X guy just got of uni and had to do it as an assignment just a year ago so they will employ him first, as they have no repeatable way to differentiate between a resume BS artist and the real McCoy. It costs everyone but that is automation practiced on a corporate scale.
- 8y ago
- shanghaiaway 8y agoThe code programmers write is worth $0 without the surrounding organization. The company makes the code valuable. Programmers are paid based on supply and demand. It's a completely different measure.
- firstplacelast 8y agoEveryone is paid based on supply/demand or rather how much leverage they have. It would take a team of scientists and analysts to properly measure how much value each employee creates (and even then, probably wouldn’t be 100% accurate). If you can’t even measure how much each employee’s contributions are “worth” to the final product, how the hell are you supposed to pay people based on those metrics? The answer is, you don’t. So if you want to get paid more, don’t worry about creating more value, worry about increasing your leverage. Form a union or guild, learn a skill very few people have, form close relationships with your customers, etc.
- PhasmaFelis 8y ago> The most productive programmers are orders of magnitude more productive than average programmers. But salaries usually fall within a fairly small range in any company. Even across the entire profession, salaries don’t vary that much. If some programmers are 10x more productive than others, why aren’t they paid 10x as much? Because the 10x Programmer is a pernicious myth. Even if you believe the original study from the '60s, it found that the best programmers were 10 times better than than the worst programmers, and only 2-3x better than the average.
- alain_gilbert 8y agoAm I the only one who believe that the "10x programmer" might actually be someone who is just as good as the others, but actually work constantly and is self sufficient ?
- doctorless 8y agoI believe this, mostly. There are those who refuse to learn and do poorly, but compared to an average programmer instead of the worst, the real difference is ability to remain focused despite interruption (or a good mitigation strategy), a desire to improve oneself, and a willingness to continue working through a solution to either completion or determination of it being the wrong answer and finding an alternative.
- haihaibye 8y agoProbably but I doubt you'll ever hear recruiters say: We're looking for rockstar ninjas but we'll settle for someone who's very productive by blowing off bullshit distractions.
- mac01021 8y agoI don't know.... I have not seen this study, but: 1> I feel I can safely say that I am more productive than the median programmer, as are probably a majority of visitors to Hacker News 2> I am aware of many famous programmers who are more productive than I am by at least an order of magnitude - probably two orders of magnitude.
- Waterluvian 8y agoYou don't pay me to solve your problems at my desk from 9-5. You pay me to do it in the shower, on a walk, when doing my dishes, etc. And I'm surely not going to be time tracking those things.
- paulddraper 8y agohttp://dilbert.com/strip/1995-09-15 http://dilbert.com/strip/1995-09-15 > Here's my time sheet filled out in increments of fifteen minutes. > As usual, I coded the useless hours spent in meetings as "work", whereas the time I spent in the shower designing circuits in my mind is "non-work".
- duxup 8y agoMeasuring productivity is hard. Everywhere I've worked there were attempts and the system always became gamified and skewed. Incentive hitting a number(s) and folks will hit it.... at the expense of a lot of other things.
- makecheck 8y agoLike many “preventative” things, it can be hard to prove that problems would have occurred with less experienced/productive people because you only have one team and outcome in any situation. And there’s a lot of easy-sounding ways to “measure” quality that actually suck (e.g. “number of bug reports” says nothing about the kinds of bugs, and might encourage people to create micro-bugs to inflate numbers or mega-reports to make them smaller, depending).
- Nomentatus 8y agoRight. When the company dies or goes down for some while, you may be able to identify the minus-ten-times employee who allowed that to happen. But he's likely long gone by then.
- dustingetz 8y agoThe stronger party will match the weaker’s second best offer
- Viker 8y agoThe way I see it... Is that most good programmers are nerds who can program. Because they have been introverts and socially awkward nerds, their entire life... Those qualities have made them useful for everyone around them so they grow up to be nothing more than handy tools for their peers. Because of that a salesman or a manager or even a taxi driver will always be able to walk over them, and "twist their arm" in a social sense. So do we expect introverted nerds to stand up for themselves and ask for a fair wage???
- dbuder 8y agoI've always thought programming was underpaid. A really good senior dev should cost 4x what they do now.