Knowledge work is changing. There are a growing number of companies creating remote teams. Many companies are completely distributed. These changes are creating leverage for software engineers living in markets outside the US to raise their salaries. For those who haven't worked remote it can be an adjustment. But there's an incredible payoff.
I remember signing the contracting agreement to work with a distributed early stage US based startup in early 2018. With no head office, the company had employees across two continents, three countries, and four time-zones.
There were many things about this role and company that excited me. The product was in a niche space of personal interest. And I would have a chance to work 100% remote, which I had been wanting to do for a few years. But there were two things which would have a big impact. I'd be earning a US software engineer's salary. And I'd be earning US dollars while spending Canadian dollars.
All Canadian software engineers should stare long and hard at the chart above. Yes the X axis is subjective. "Labor Quality" is the percentage of employees who have earned degrees from specific universities. But the Y axis is concrete. There is a tremendous salary difference based on an employee's longitude and latitude. Ottawa, Vancouver, Toronto, and Montréal (the only Canadian cities included) fare the worst. Of course this is a natural outcome of market economies. But distributed work is flattening this inequality.
Past performance is no indication of future performance. But for 53 of the past 67 years (79%) it has been better to earn US dollars and spend Canadian dollars if one is able. In that time the average USD/CAD exchange rate has been 1.17 while the median has been 1.14. It's currently 1.33.
Even with an equal exchange rate it would be preferable to earn a US software engineering salary. The median Canadian "Software Engineer" salary is CA$72,000. The median US salary is US$91,000.
When the current exchange rate is coupled with the salary difference the magic happens. US$91,000 is currently about CA$120,000. A difference of CA$48,000 or 66% relative to CA$72,000.
And we can look at specific cities to compare cost of living vs. salary. In US dollar terms, the cost of living in Vancouver is about 4.8% higher than Austin. While the median Software Engineer salary in Austin is 40% higher than Vancouver when accounting for the exchange rate.
It's important to note that there is upward pressure on Canadian tech salaries. For example the median Canadian Amazon "Software Engineer" salary is CA$115,000. The median US Amazon equivalent is US$120,000. This is still a difference of about CA$45,000 or 39% higher when accounting for the exchange rate.
I've noticed the effects of this upward pressure on Vancouver salaries. Many Vancouver companies are raising their salaries at a rate well above that of inflation. But some aren't keeping up. A favourite lunch spot of mine from a couple of years ago is near the Hootsuite office. It seemed that every Friday there was a going away party for someone from Hootsuite leaving for Amazon.
US startups are starved for talent. Startups in New York, San Francisco, Austin, Seattle, and elsewhere are being forced to create distributed teams. They want to pay a Senior Software Engineer US$118,000 to sit at a desk in their local office but they can't. So they're more than happy to pay someone with the same (and often better) skill set the same salary to sit at their own desk.
Remote work isn't for everyone. The majority of people I know prefer to work in an office where they can physically interact with their co-workers. But I wonder whether some of these people would prefer to pair program in person, or enjoy a 40%-60% raise.