Salary ranges in this dataset are attached to a location, and the location field is messier than it looks: "San Francisco" and "San Francisco, CA" are separate strings that mean the same market, while "San Francisco, CA | New York City, NY" is a different thing entirely — a posting that pays one band for several metros.
| Posted location | Postings | Median | p25 | p75 |
|---|---|---|---|---|
| san francisco | 743 | $252,500 | $197,500 | $337,500 |
| united states | 328 | $173,737 | $138,800 | $213,750 |
| san francisco, ca | 188 | $247,875 | $185,000 | $345,000 |
| remote | 177 | $156,000 | $117,600 | $208,708 |
| new york city | 160 | $162,250 | $120,000 | $216,000 |
| san francisco, ca | new york city, ny | 156 | $347,500 | $287,500 | $415,000 |
| remote - usa | 143 | $202,482 | $181,022 | $237,262 |
| new york, new york, united states | 136 | $189,560 | $142,375 | $229,770 |
| san francisco, california | 122 | $210,938 | $179,000 | $261,500 |
The multi-metro effect is the largest single structure in the location data: postings that list several cities have a median of $345,000 against $195,000 for single-location postings — +77%. This is mostly not a premium for flexibility; it is a marker of seniority. Companies list three metros for the roles they have been trying to fill longest, and those are the senior and staff roles with the widest bands.
Related: role families · remote pay · the dataset.
A longer read: One company, one $75,500 gap between role families on dev.to.