You might be able to pick up a new job overnight in the Bay Area, but conversely your employer can replace you overnight in the Bay Area. Friends who went out there are constantly jumping between companies as they run the risk of being laid off, of running into stack ranking, of their firm getting bought out or all other kinds of nonsense.
Midwestern friends? All still working for the same spot they got out of college. Pay might be low, but the stress is low as well since employers know that it's hard work to replace a competent developer (probably have to pay someone to move there). If they walk out, it's the firm that's going to be in a harder place then they will be -- so no one is going to ask them to work overtime, check their e-mails, or do anything to upset their applecart.