I’ve done a lot of research on programmer salaries and the software engineering economy. One recurring conclusion I come to is that there’s almost no correlation between how good an engineer is and how much he or she is paid. I’m not going to say that it’s precisely zero, but nothing has convinced me that it’s nonzero. The most relevant variables are:
Geography. (Large, but canceled-out by cost-of-living.)
Gender. (Seems to be 10-20%, and higher at the top end.)
Native social class.
Years of experience (with a depressingly early plateau: about 15).
Negotiation skill. (If you’re very strong in this, you can get whatever you want: salaries, titles, authority.)
Size of company probably has the observed positive correlation because of confounding factors (experience, negotiation skill). Most people with strong negotiation skills end up painting themselves into a corner where they’re seen as too expensive not to be managers. (Yes, it’s stupid, but it’s how the world works.) Then you get the arrangement where people are spending 20 hours in meetings and highly paid.
Even supposedly CV-boosting technologies don’t give much of a bump. Scala salaries are about 10% higher than Java, but Haskell and C and Ruby and Java programmers all make about the same amount. This is shocking because the quality of programmers is remarkably better in the Haskell crowd and in the C crowd.
We work very hard to get better at our jobs, and I understand why, because I’m the same way. Right now, though, the economic payoff for all that extra work is nonexistent. Being good at your job does not improve your salary or leverage and it may actually interfere with what is rewarded in the software world: playing politics.
I’ve done a lot of research on programmer salaries and the software engineering economy. One recurring conclusion I come to is that there’s almost no correlation between how good an engineer is and how much he or she is paid. I’m not going to say that it’s precisely zero, but nothing has convinced me that it’s nonzero. The most relevant variables are:
Size of company probably has the observed positive correlation because of confounding factors (experience, negotiation skill). Most people with strong negotiation skills end up painting themselves into a corner where they’re seen as too expensive not to be managers. (Yes, it’s stupid, but it’s how the world works.) Then you get the arrangement where people are spending 20 hours in meetings and highly paid.
Even supposedly CV-boosting technologies don’t give much of a bump. Scala salaries are about 10% higher than Java, but Haskell and C and Ruby and Java programmers all make about the same amount. This is shocking because the quality of programmers is remarkably better in the Haskell crowd and in the C crowd.
We work very hard to get better at our jobs, and I understand why, because I’m the same way. Right now, though, the economic payoff for all that extra work is nonexistent. Being good at your job does not improve your salary or leverage and it may actually interfere with what is rewarded in the software world: playing politics.