I think I understand this. In both the US and in Germany, a lot of developers -- kids right out of college -- will work for a lot less than the value they add. Too young to know better; nerdy and bad at negotiation.
OK, the difference between Germany and the US is that job creation is easier in the US -- less regulations on employers. One piece of evidence that this is so is the high youth unemployment in Europe compared to the US. Once all the developers willing to work for less than they could get have been hired. The employers in the US (at least during go-go times like now) are still motivated to hire additional developers -- because the US economy is good at utilizing all the development talent it can get. It is still profitable (just not quite so much) to hire a developer who demands the be paid comensurate to the value they add to the employer.
So, in the US, people who are good at negotiation and know they're good can hold out for higher salaries -- and still get hired -- at least until there is a slowdown.
There is my theory: German dev jobs are filled by workers who are bad at negotiation (like many many nerds are) or they do not have enough work experience to realize what they are worth. German employers probably do not have the
capacity to employ everyone willing to work as a dev.
In contrast, in the US, a lot of devs are also paid less than they are worth -- because people, i.e., young nerdy men are basically the same wherever you go -- but there are also devs whose attitude is, well, I'd be happy to work for you if you pay me $200,000 a year. If you cannot meet my salary requirements, well, there's other productive things I could be doing with my time or maybe I'll travel and live off savings for a few years -- or maybe I'll keep on job hunting.
US employers would prefer to hire from the first group, but
eventually all the qualified devs in that group have been hired. US employers are willing to hire from the second group -- since their labor can still be converted into more income than required to pay the dev the high salary -- making it profitable to do so.
If my theory is correct, the way to get a high salary in the US is to have the option of refusing to work -- i.e., no immediate need for money (or to please one's parent by getting a prestigious job). That's the way negotiation works: if my best alternative to a negotiated agreement (BATNA) is pretty good, then my negotiating position is pretty good.
This is basic microeconomics, and it works even if many devs are willing to work for much less than the value they create. There is no need for us to convince those devs to get better at negotiation. Or unionize of anything like that. That all changes, though, when not every dev who needs a job can find a job. (Which is an argument for taking a pay cut during economic downturns, I guess.)
In general, I agree with our assessment, but let me add that I constantly got great evaluations by my superiors, but when I asked for a 10% raise they laughed in my face. I don't work there anymore, but other companies also didn't pay much more when I went looking (without acute need).
Maybe it's the business (consulting) where they only care about the hourly margin, not about your performance (although I did an internal fixed-price project back then; probably saved the company's ass on that botched POS they had built). Generally, my impression is that salaries in Germany are very homogenous, and affected largely by age/experience and rank. You'd have to be a well-marketed freelancer to achieve high hourly rates (only a few people - relatively speaking - can do that).
OK, the difference between Germany and the US is that job creation is easier in the US -- less regulations on employers. One piece of evidence that this is so is the high youth unemployment in Europe compared to the US. Once all the developers willing to work for less than they could get have been hired. The employers in the US (at least during go-go times like now) are still motivated to hire additional developers -- because the US economy is good at utilizing all the development talent it can get. It is still profitable (just not quite so much) to hire a developer who demands the be paid comensurate to the value they add to the employer.
So, in the US, people who are good at negotiation and know they're good can hold out for higher salaries -- and still get hired -- at least until there is a slowdown.
There is my theory: German dev jobs are filled by workers who are bad at negotiation (like many many nerds are) or they do not have enough work experience to realize what they are worth. German employers probably do not have the capacity to employ everyone willing to work as a dev.
In contrast, in the US, a lot of devs are also paid less than they are worth -- because people, i.e., young nerdy men are basically the same wherever you go -- but there are also devs whose attitude is, well, I'd be happy to work for you if you pay me $200,000 a year. If you cannot meet my salary requirements, well, there's other productive things I could be doing with my time or maybe I'll travel and live off savings for a few years -- or maybe I'll keep on job hunting.
US employers would prefer to hire from the first group, but eventually all the qualified devs in that group have been hired. US employers are willing to hire from the second group -- since their labor can still be converted into more income than required to pay the dev the high salary -- making it profitable to do so.
If my theory is correct, the way to get a high salary in the US is to have the option of refusing to work -- i.e., no immediate need for money (or to please one's parent by getting a prestigious job). That's the way negotiation works: if my best alternative to a negotiated agreement (BATNA) is pretty good, then my negotiating position is pretty good.
This is basic microeconomics, and it works even if many devs are willing to work for much less than the value they create. There is no need for us to convince those devs to get better at negotiation. Or unionize of anything like that. That all changes, though, when not every dev who needs a job can find a job. (Which is an argument for taking a pay cut during economic downturns, I guess.)