The Canadian and US labor markets are pretty interconnected so in my opinion these companies are going to have to start raising salaries if they really want to get talent. I feel like I read something on HN every week bemoaning the Canadian tech industry, when most of the problems have a pretty simple solution: pay more. Of course, that's easy to say but not necessarily easy to do financially.
Perhaps it’s worker protection that makes salaries lower in Canada? If it’s harder to fire people, that cost gets spread across all salaries to reflect the risk of having an employee you can’t easily fire.
Canadaians make far less than Americans even after accounting for the “benefits.”
I once saw a company looking to hire a senior rails developer at $25 CAD per hour. Insanity. I think it was even for a Vancouver company.
Even in the US when you consider the whole instead of just Silicon Valley that is not a reasonable number to expect.
If Canada doesn't want all their CS graduates chasing the huge amounts of money they can make in the US, they need to raise their salaries. Otherwise they won't only face a tech-worker shortage, they'll have to deal with a full-on brain drain, which is even worse (of course, Google is expanding in Canada so hopefully this won't happen).
The US has a "payroll tax", which is paid by companies and is usually a percentage of the salary paid to the employee. You may not consider it a "business tax", but others might.
Also, some cities have business taxes on a per-employee basis.
Additionally, there is potentially a lot of variance in business taxes between one state/province/municipality and another.
I was later in their office on Hurontario near the 401 for a HackerNest meetup. I was speaking with a manager of theirs and mentioned someone who I knew that worked there, to find out he no longer did and he laughed about this person with a colleague.
I love hearing about a Canadian success story but their culture seems a bit off.