Do you have any idea why coders are paid so much less? Is it because all professionals are paid less (ie., are lawyers, physicians, etc all paid less in Canada)? Or is this more of a regional pattern combined with a cost of living (ie., coders are paid less in Wisconsin than in California, but might live better on what they do earn)? Or is it maybe related to productivity, that coders in these concentrated areas are able to be so much more productive than they are elsewhere that they're simply creating more wealth...
Anyway, would be interested in hearing the thoughts of a Canadian expat on this one.
I have some theories, but not a lot of proof - as is the case when arguing the effects of policy.
If you look at the job openings in software in Canada, you will find a lot of US satellite offices hiring. Adobe, Autodesk, Apple, IBM, Microsoft, et al all have significant presence across Canada, but the pay for Canadian positions is inevitably far, far less than their American counterparts.
Part of it is the lack of entrepreneurialism in the field, I think. Because of the lack of startups, and the lacklustre VC scene, the industry doesn't have lot of domestic legs to stand on. A huge part of the software industry's identity in Canada is "like America, but cheaper" - there aren't enough homegrown companies to counter this trend.
The software jobs are also dominated by fields where it's a cost centre, not R&D. The biggest employers of software engineers in Canada are banks and telcos, not "pure" software companies. In this environment, the majority of openings are IT monkey jobs, not high-level engineering positions.
There's a lot of talent coming out of Canada, the majority don't stay though, and they won't so long as the US offers more interesting jobs that pay double, triple the Canadian rate. More professional satisfaction, way more money? I'm not made of stone!
I can't answer this question with a very high level of confidence for all of Canada (I'm based out of the prairies) but my current feeling is simply that the quality of the positions are lacking, as the parent has pointed out.
There's a view that programmers are code monkeys. If looked at from the perspective of a manager within the manufacturing industry (Many of Canada's high net worth individuals, especially in my city, have some sort of manufacturing/hard goods background) programmers are high level production staff.
As a result the jobs generally aren't very exciting and don't pay much. Mechanical Engineers are more sought after in my city, at least.
Six figure jobs seem to be within smaller boutique firms and a few of the big companies but it is far from the norm and there aren't many of those to choose from. Programmers earning more than $150k are virtually unheard of, as far as I know. My knowledge could be inaccurate here though so please take it with a grain of salt.
To change it would mean more jobs of a different nature. Startups are the only solution I currently see to change that long-term. And we have many other issues to contend with beyond a smaller talent pool and scarce funding.
I think it'll take a few big wins by a few entrepreneurs with, as my lawyer likes to put it: "balls of steel", to be willing to stay in their local Canadian markets for there to be progress in making this a better place for software engineers and in turn, other startups.
I am starting to notice a slight change and some locals urging me to stay local. Perhaps there's hope for the future.
So to try and succinctly answer the question, I think the pay reflects how interesting the jobs are, unfortunately.
I've chosen to stay in Vancouver for personal reasons. I like it here but it's not much fun to see friends find only mediocre opportunities locally and then end up in Mountain View making ~six figures. Unfortunately as mentioned above this creates a sorting process where the best and brightest leave.
There is a growing startup scene here, but the cost of living hurts -- this is the land of $60-70K salaries and million dollar houses. Real estate costs are such that the startups mostly seem to end up around the drug-addled Downtown Eastside, which can be interesting to say the least. Vancouver's a nice city but it's also kind of crazy.
Anyway, would be interested in hearing the thoughts of a Canadian expat on this one.