Funny thing that I was having a discussion with one of my friend who is in the middle of salary negotiation. The company is pushing him hard to accept the offer well below than his expectations and he was expecting more hike as he was relocating to bay area. He was quite disappointed that he didn't get the salary figure he was expecting but still wanted to accept the offer as he didn't want to loose the opportunity.…
The average banker or lawyer is an order of magnitude better at negotiation and valuation than the average developer. It's literally their job. For a finance guy, not optimizing your compensation package is sacrilegious.
Meanwhile we have still have lots of developers who think it's absurd that they'd even be paid $100k and don't want to think about money at all. [0] They drag down compensation for themselves and for others.
Unfortunately it's not simply a matter of information. You can tell people that the market rate for their position is $200k/yr but they'll tell you that's absurd, that they think it's too much, or that they'd rather just focus on code.
Doctors solved this by sharply restricting supply and making it illegal to practice without being part of their cartel.
[0] Seriously, on HN people regularly complain about making too much. Even in this very thread you can find people who are skeptical of high salaries: https://news.ycombinator.com/item?id=12588504