I think that in addition to location, degree of expertise or years of experience are important factors which often correlate with location. For instance, if you live in the midwest and make your living tweaking wordpress themes, you may consider yourself a "programmer". However, that wouldn't fly in a major city. So I would speculate that salaries are higher in SF, for example, but the quality of the "programmer" is significantly higher than in other locations. Just my 2 cents...