As someone who was looking at the data on glassdoor while writing my comment, and who has dealt with offers from recruiters, and who has an extensive network of friends who are open about their earnings, I call bullshit on your calling of bullshit.
There are certainly outliers. There are certainly people with excellent skills who are being underutilized, and who will get paid a lot more if they find the exact right fit. Just a wild guess, but you didn't go from 35k in Pittsburgh to 140k in SF, you went from a lot more than that in Pittsburgh to a lot more than that in SF. If you're up in the 200k+ range in software in SF, you'd probably earn a lot less going anywhere except maybe NY or Boston. But if you're in the "average software engineer salary" range in SF, the falloff going to a mid-sized city is not nearly as steep.