A very deep pool of talent exists in Canada.  Employers just refuse to engage with it.  When HR goes onto campus these days (and they don't often), they don't bring their engineers to recruit other engineers.  They bring their HR bureaucrats, who ask completely irrelevant "behavioural" questions which have no bearing on a graduate's ability to do a technical job.  They try to figure out where a graduate might fit into some rigidly defined salary chart, rather than being flexible and willing to pay up for talent.  Any Canadian employer that can't recruit and retain top-notch talent really only has themselves to blame, because there's so much talent created in Canada who would love to work in Canada if not for the lack of jobs, and the lack of a professional environment.