Those are new grads and frankly most Canadian CS programs are awful to the point that if you are forced to hire one of those, may as well hire an Indian contractor remotely.
The choice is between jobs going offshore or people coming to work here as most new grads are not job ready. I have interviewed ones who have never done a pull request before.
>Those are new grads and frankly most Canadian CS programs are awful to the point that if you are forced to hire one of those, may as well hire an Indian contractor remotely.
Presumably you exclude Waterloo, Toronto, UBC, and McGill from the list of awful programs. What do you have in mind? Brock? Guelph? UVic? UPEI? MUN? Lethbridge? USask?
A lot of those are likely mediocre, but probably ok(I have never encountered a grad from those programs admittedly), but many aren't even coming from undergrad CS programs but from the diploma mill colleges like Seneca and Sheridan that hire fake professors or from one year masters in CS programs. Don't get me started on the career colleges, one of which offered me an instructional job in my third year of university.
How do you expect a new grad (assuming no internship experience) to have done a PR? I agree the university should've taught version control, though.
I am an Indian graduate who has decent experience with actual programming, even contributed to open source, and yet struggled to get a job in between my peers who have done 300 Leetcode problems and nothing else.
So I assume the hiring meter for most juniors is not "can use version control" or "can architect a 1000 line codebase with decent OOP". It's "can recurgigate 300-500 common Leetcode problems and can cheat in online coding tests". We are all in a bubble.
I don't really care how they get it, just that I do not have to train them in it. An employee who requires tech training is a pain to have around. You need people ready to get to work.
Some companies do focus on Leetcode, that is true. Mine do not, but on the other hand we expect you to fit neatly into the role of developer without needing to be told about Docker, GitHub, testing. Tons of grads have no idea of the difference between a unit test and an integration test.
As someone who hired a bunch of recent grads in Canada, you couldn’t be more wrong in your assessment or in your conclusion, but, this is the internet so :shrugs:
Booming field that outsiders don't understand will continue to attract deadweight useless people.
Of course there's a bunch of people that can't find jobs, a CS degree is not a rigorous endeavour, there's no bar exam, no MCAT. Just a bunch of people who think it's a free lunch surprised they have to compete for it.
That is a lot of it. There has been a proliferation of Masters in Software degrees up here that anyone can sign up for, pay a few grand, and graduate with a degree from in a year.
99% of CS is about communication, not your ability to code
and
most Canadian CS programs are awful to the point that if you are forced to hire one of those...
are incompatible with one another. Which is it, HN? Do you want the Indian guy who can't speak English, doesn't understand you, but can whip up a microservice architecture in a week or the Canuck with whom you can communicate, will learn from you, but does not know anything outside of Java?
> 99% of CS is about communication, not your ability to code
There is a minimum level of useful skill that is required to avoid having to spend a bunch of time training them.
Neither the Indian CS person or the new grad are great options. Ideally you want senior devs. But given the choice, I would prefer the Indian CS person as then the communications become more Product's problem than technical mentoring which is mine.
The choice is between jobs going offshore or people coming to work here as most new grads are not job ready. I have interviewed ones who have never done a pull request before.