I'm a decent engineer; not top 10% necessarily, but maybe in the top 25% and certainly well above the median. I earn almost $160k doing pretty basic/routine software work at a non-software/tech company in the Bay Area. I'm underpaid (as an hourly contractor)--that is, I know for a fact that the hourly rate I'm currently working for is 20%-30% less than what I could get doing something else. Your salary, if you are as good as you claim, is less than what it should be by a good 10%-20% (factoring in benefits and bonuses).