As a recent Waterloo grad, this definitely rings true with me.
I lived in Vancouver for most of my life, and love the city. I'd love nothing more than to live and work here all my life, but I'm really having trouble justifying not crossing the border and more than doubling my salary like most of my friends have done.
From my experience job searching so far, even without mentioning salary, the sheer number of interesting jobs is just sorely lacking, even when comparing to other Canadian tech hubs like Toronto. Seattle, SF, and other US cities are just in an entirely different league.
A quick, unscientific comparison on AngelList definitely matches my anecdotal observations: https://angel.co/salaries
To employers in Canada:
If you want world-class talent, you need to be willing to pay world-class salaries.
Slightly above market salary in Canada just isn't enough anymore, because market salary in Canada is just crap, and anyone who isn't a complete sucker knows this.
This isn't even about trying to steal talent from the states or elsewhere. Canada is literally bleeding talent from its own top schools. Anyone who's good enough to be hired across the border tends to end up leaving because they'd have to sacrifice so much potential earnings to stay.
And if you do offer a world-class salary, you need to advertise the crap out of it by giving us the cold, hard numbers. Otherwise candidates tend to assume that by "competitive salary" you mean competitive with the pitiful salary we usually hear when we apply to Canadian companies.