So, I’ve been looking at the differentials in pay for software engineers in the US and Canada. And I gotta tell you, it’s just sad. Here are some figures from Vancouver’s pitch[1] to Amazon for HQ2. Toronto pay is half of Seattle pay. No wonder half of each class from Waterloo heads south.
Market Average Annual Tech Wage
Software Engineer (USD)
Vancouver, BC — $60,107
Toronto, ON — $62,365
Atlanta, GA — $92,380
Boston, MA — $103,979
Washington, DC — $108,330
New York, NY — $108,878
Seattle, WA — $113,906
The question is why the difference is so very broad. Off hand, I suspect the problem is demand. Seattle has two large top-tier tech companies based locally. Toronto has nothing of the sort. There are smaller tech companies, of course, and banks and one outpost of one of the majors. But the deep need to fight for talent just isn't there.
[1] http://www.vancouvereconomic.com/wp-content/uploads/2018/02/Vancouver-Amazon-HQ2-Proposal-Feb-2018.pdf
As a top engineer you have the choice to go where ever the best challenges and compensation are. If you have over 10 years experience in a field and very good at what you do you should be paid exceptional well for it. As the value you bring to the company you work for makes the bottom line meter move upwards and you bring innovation and help move the company forward.
Mix a couple of teams of top quality and value engineers and you get products and services that the entire world wants to use. Talent also attracts talent, so if your company has very well known engineers working there that are very well known and respected in their fields other engineers will follow.