Usually the salaries are based on "market rates" and explicitly do not consider cost of living.
This is why London jobs are not paid more than SF - the "market rate" in London is lower despite living costs being the same or more than SF (especially when in London none of the FAANGs offer free transport to and from work and property prices are so much higher near transport hubs).
Market rates are murky - I guess it is based on competition and who employs in the area. There is some sort of shared database that loads of companies use from what I understand, but they are flawed since they don't include a lot of high-paying employers in finance et al.
At least some of the Bay Area stuff is probably due to proximity of the main office.
At least, that is what was explained by a friend of mine that decided to stay at the Venice office - that it's easier to advance in all ways if you work in the Bay Area.
Cost of living looks higher in Vancouver than Seattle while salaries look higher in Seattle that Vancouver...
High pay requires a competitive job market (employer can't find anyone else to do it to the same standard for less) in a profit making industry (it's worth staying in a line of business even with higher wage costs.)
Honestly I'm quite surprised how little salaries at big tech companies vary by location within the same country. The bigger difference seems to be in opportunities for career advancement with more post-senior roles available at head offices.
There's also a talent gap. From my experience, a lot of tech workers in Vancouver simply couldn't meet the bar for the stricter US immigration. With the current stricter enforcement on H1-B and the lax Canadian immigration system I expect to see a downward pressure for wages in Vancouver as more of the B players are relocated there.
> There's also a talent gap. From my experience, a lot of tech workers in Vancouver simply couldn't meet the bar for the stricter US immigration.
Really? It doesn't seem to be this way to me. The academic requirements are, I believe, the same: a degree. I think in the US you also need a job offer (for H1B), but that hasn't been hard to get for a software engineer in the last 10 years.
The real "bar" for US immigration is a hard limit on visas, which are resolved via lottery. Your "ability" on winning a lottery doesn't say much about your talent for engineering.
Note: I moved from Europe to the Bay Area, I'm a bit familiar with the process.
The job requirement makes all the difference. In Canada, the point based immigration system will reward anyone with a STEM degree with points, irrelevant of the actual market value of the degree. My friends in those market tell me it's not uncommon to have senior foreign graduates incapable of passing a fizzbuzz interview. They often have multi year gaps in their resume where they couldn't land a job upon arriving in Canada. Contrast this to the US where for an application to even get to the lottery it has to be vetted by a business that's willing to spend multiple thousands of dollars to maybe get a visa for the worker.
There's also a lot of workers that simply can't pass the bar due to the Requests For Evidences required by the US government. As an European from, what I assume, a legitimate university you wouldn't experience those issues. Most of the folks who fail at this step will have back-up petitions filled at one of the satellite locations in Canada.
No. As far as I know, exceptional ability is really exceptional. Being a very senior engineer in, say, Google Zurich doesn't really qualify. For an O-1 you need to have received nationally/internationally recognized prizes; published media in major publications...
Right but I think many people just publish one paper at an international conference (they're all international) and then say 'look I'm an internationally published and peer-recognised expert'.
Aren't salaries different in different locations? (ie. same company with offices in Vancouver Canada vs Seattle vs SF?) I've heard they are...
If pay was purely about talent, everyone would be paid the same.