Let's compare two job candidates, shall we?
The first graduated from a local university and has ten years working in the local market- five for one of your competitors, another five for one of your suppliers. They have references that you know personally- maybe even people on your own staff, and others you can get on the phone in five minutes. They come in familiar with both your suppliers and some of your customers, have a professional engineering license in your area, and already have a line on a couple potential projects they may be able to bring in with them either now or in the near future.
The other graduated in another country and studied in a language other than your local language- one of ten thousand such programs and universities/colleges in the world, about which you personally know absolutely nothing. They have the same ten years- or even twenty years- worth of experience, but all of it was gained in another part of the world where the codes and standards of practice are similarly either incompletely known or totally unknown to you. They pass a technical test for basic technical skills and seem to know their stuff, but communication is a bit of a struggle . They're eager, and willing to work for $10,000 or even $20,000 less per year than the other person- this year at least. They have no license yet, because they lack the year's worth of local mentored experience necessary to get one.
Which of the two would you consider to be a greater hire risk?
The latter candidate is a reasonable composite of at least 100 foreign trained engineers I've interviewed over the past couple of decades- at least the ones who met the basic technical competency requirements (which some local engineers also fail).
If the former candidate doesn't present themselves for an interview or is somehow imperfect, you may choose the latter. If you have ten of the former stacked up in the resume file because the labour market is saturated, you're not even going to interview people in the latter category.
Is the exclusion of those foreign-trained engineers from consideration "discrimination"? Selecting which candidates to interview and which interviewees to hire is FUNDAMENTALLY a process of discrimination. The key is to ensure that the discrimination isn't happening on the basis of grounds not materially affecting job performance. Race, country of origin, sex/orientation etc. are such grounds- but communication skills, work experience in the local milieu, access to local references etc.- those are NOT arbitrary grounds, they're meaningful selection criteria because they can be demonstrated to have a meaningful effect on actual job performance, especially initial job performance. Generally, you're hiring experienced people to fill an immediate need- team-building over the longer term can be done with more junior staff who obviously are going to be selected from the local pool of graduates.
We've had good luck with some foreign-trained engineers- some of them really exceptional- but we've also had some spectacularly bad hires who cost us a lot of money to regret. By far, our best luck has been with co-op students who we've mentored and trained ourselves. They represent near zero hire risk- we can say that now that many of them are still on our staff after over 10 yrs on the job.
What saddens me even more is that many immigrants, refugees and asylum seekers come to Canada knowingly sacrificing their career aspirations for the benefit of their kids' futures- and then put their kids into engineering schools, whereupon the grads are dumped onto an oversupplied local labour market and forgotten about- expected to sink or swim on their own merits, despite the oversupply. It's ridiculous.