$100k base salary in Waterloo adjusted for cost of living would be like an $180k base salary in Mountain View. (Disclaimer: From personal experience, don't have a citation on the exact ratio.)
I suspect people leave to Silicon Valley for the opportunities, tech culture, and weather far more than the salaries.
I started off after graduation in Seattle, where the living costs are downright identical to what you would find in Vancouver or Toronto - except I was making $100K+ total comp. Compare this with the $50-55K offers I was getting from Canadian companies, and it was a complete no-brainer.
The gap has only widened - I'm now in SF making over double what my going rate in Canada would be. The cost of living is higher (well, mostly just the rent, everything else is similar), but it doesn't even come close to canceling out the raw pay difference.
But sometimes the pay is a red herring - I know a lot of Canadian expats in the USA who would love to go home, and many are willing to take substantial pay cuts in exchange for Canadian QOL, including myself. In fact, some of us have actually investigated this option thoroughly, and the ugly truth is:
There just aren't that many interesting, challenging jobs for programmers in Canada. It's a country full of code sweatshops and satellite-office monkey labs. Interesting, fulfilling, high-impact jobs are few and far between, and incredibly hotly contested where you do see them. Compare with being in SF, where someone practically begs me to go work on their interesting, world-changing problem every week. So in order for me to go back to Canada, I'd not only have to take a >50% pay cut, but also resign myself to ye olde cubicle and TPS reports. Entirely unacceptable.
Ya, I know this sounds like a pitch, but if anyone in the US is thinking of moving back to Canada, please contact us. We've written about our reasons for opening up our primary dev shop up here, and one of them was specifically for the really great devs that wanted a cool place to work in Canada.
Our website is www.athinkingape.com It might look like a social games development shop, but it's actually much more. ;)
Um, no. Even though SV is a high-cost location in a (relative to the U.S.) high-tax state, personal income taxes are still substantially higher in Canada. Housing might be somewhat more in Waterloo than in SV, but the net take home at the end of the year would still be higher.
Assuming you're married and can file a joint tax return w/ your spouse, the U.S. tax advantage goes up even more.
There is no question that if you want to make a lot of money in tech, the U.S. is still the place to be. I say this as someone who has lived and worked in Canada, Southern Californian and now Australia.
26% Federal + 11.16% Provincial = 37.16% http://www.cra-arc.gc.ca/tx/ndvdls/fq/txrts-eng.html
San Francisco: 28% Federal + 9.3%x(0.72) State = 34.7% <-- (9.3%x0.72 because you can deduct your state taxed amount in certain scenarios)
http://www.efile.com/tax-rate/federal-income-tax-rates/ https://www.ftb.ca.gov/forms/catxrate_exmpt07.shtml
Once you get above 174k/year, it's sill similar, with:
Waterloo: 29% Federal + 11.16% Provincial = 40.16%
San Francisco: 33% Federal + 9.3%x(0.72) State = 39.7%
So at 100k, Canadian taxes are very slightly higher higher, and is almost even at 174k.
If you're working at a startup, Canada may even be more advantageous because of how capital gains taxes are treated on privately held CCPC's. Also, you have health care. :)
Try re-calculating the tax rates if you have a non-working spouse (as was my case since I was on a work visa) and you're significantly better off in the U.S.
This is huge. Read as "the first $750K of your startup windfall is tax free".
I've updated the tax rates above to be more indicative of the adjusted rates in the best case scenario, but California vs. Canada is still VERY close.