Treating engineering as an undifferentiated commodity measured by leetcode performance is partly why this charade exists.
I'd estimate (from browsing graduate boards) it's probably among the top 5 most hated aspects of the industry. #1 for many - because it's so anxiety inducing.
But it has this side effect that you need to test every candidates.
> Are you proposing that we start using credentials as gatekeeping?
No. As a fast-track sure. So you don't have to start every interview with a FizzBuzz [0].
[0] https://blog.codinghorror.com/why-cant-programmers-program/
But we already do use credentials as gatekeeping. There's a lot of talk about bootcamps and whatnot, but how many of these people actually get passed the resume screen when compared to a Stanford CS grad? FAANGs famously recruit from same 20 universities, and then complain about "lowering the bar" if they branch out anywhere else.
We could stop gatekeeping, but it still happens.
I have these I have used "challenging" algorithmic stuff a handful of times in my careerer. Same with recursion, I have used it, but not too many times.
If I do hackerrank or leetcode or something similar these days, it's pretty much luck if I will get it. If I sat down long enough I could work it out, but with a 2 hour time limit, its usually 50/50 whether the answer appears in my head in that time frame.
And here's the thing. I write a lot better code than I used to. I know what is important, and it isn't clever algorithms, it's choosing the right abstraction, and keeping things maintainable. Making the code easy for the next developer to follow. For the vast majority of software roles out there this will be so much more valuable than algorithmic knowledge. Sure knowledge of computer science fundamentals is important, but I think we give it too much emphasis over what really counts.
Basically these are testing for a computer scientist when the job is for a software engineer.
It would be interesting to look at the correlations between the two, as I'm not sure if that's every been done.
At some point there's a signal to noise ratio issue here as well.
If companies are passing on specific pockets, it’s likely from a belief that the conversion from top of funnel to successful hire is low.
There’s plenty of excuses for gatekeeping, but the real reason is laziness. Of course, we don’t call it that, we call it a meritocracy and apply our biases as “common knowledge”, “proven”, or if we’re feeling particularly full of ourselves, a “sufficient statistic”, but never what it is: a bias, a blanket assumption, a gate.
As soon as you’re relying on assumptions, it’s not a meritocracy. It’s bias promotion, ie gatekeeping.
If small companies weren't able to use inexperienced developers to spin up half-assed MVPs, we'd be at the mercy of whatever large companies are interested in developing, and time has shown that as companies get bigger, they lose interest in niches in favor of products that will be massive successes.
You're not wrong, but I also don't think the world you are describing is a problem.
That's an interesting perspective. I would say there is some truth in it, but a lot of small companies get plenty of investment money.
The fact that a bootcamp grad can compete for the same software engineering jobs as a Stanford CS grad is one of the very best parts of the hiring process in our industry. Are you proposing that we start using credentials as gatekeeping?