There is a lot of complaining about hiring processes these days.
I think both algorithmic questions and work samples have an important role.
Algorithmic questions are presented with a time lot, you get an idea of how the candidate thinks through problems. These questions I think reflect general intelligence.
Work samples reflect effort and experience, which is also important.
People like to complain about one or the other like they're entitled to a job. It's hard to hire senior engineers because there aren't very many good ones, a mediocre engineer who hangs on for 5-10 years is now a "senior engineer."
You're not special. If you want a high paying job of your choosing you have to earn it. Only a vocal whiny minority is heavily complaining online. If you think you're highly competent and the problem is with all of these companies, in whose best interest it is to hire good people, you should think again.
>I think both algorithmic questions and work samples have an important role.
I'm a senior engineer at one of the top tech companies. I hold the opinion the interview processed is heavily biased towards college grads or kids who are fresh on algorithms.
I think this helps us hire mostly kids who are book smart but aren't necessarily great (or even "good") employees... I'll do some hand waving here and define good as some combination of being driven and motivated, being able to work independently, and actually caring about what they're doing.
The question is then - well, how do we do this better? Honestly, I'm not sure. Hiring quality workers is a difficult problem. Technical interviews allow you to somewhat measure one of the key aspects of your hire. That being said, some people aren't made to stand in front of a white board and get judged. They don't handle that situation really well, and just because of that, they'll make mistakes that they might not otherwise make.
> I think this helps us hire mostly kids who are book smart but aren't necessarily great (or even "good") employees... I'll do some hand waving here and define good as some combination of being driven and motivated, being able to work independently, and actually caring about what they're doing.
Absolutely. I'm at FAANG, been here almost a decade. I've met many fellow engineers who lack basic problem solving skills, curiosity to learn more about the environment they're developing in (e.g. Linux), and diligence to do a good job. School doesn't teach you those things, nor does conventional whiteboard interviewing select for these qualities.
I spent way too much time/energy on my last team covering for other people who were more senior than me.
I think it varies by company, but at mine the questions are very much domain based for senior people. The focus is greater on algorithms for new grads.
The questions being asked aren't extremely challenging, they can be trained for. Willingness to learn new things (even if useless) and put in the effort to pass interviews is a positive signal imo.
On that note, it seems like HN has assumed the only work that exists is writing CRUD apps and not worrying about performance. There are many roles where you do need to have a strong understanding of performance and algorithms, and those are the difference between a smooth rollout and crashes in the middle of the night.
What aspect of performance though? Even that means a variety of different things to different people and it isn't just algorithms. I've met people who are bad at typical CS algorithms yet know their language of choice very well and write low-allocation high performance tight code that "does less". Or people that are used to handling concurrent code which sadly is still somewhat of a rare skill. Only the algorithms are touched on in typical CS courses; most aspects of performance tuning come from experience and persistence spending hours trying to get more performance and less resource usage out of an application.
I think both algorithmic questions and work samples have an important role.
Algorithmic questions are presented with a time lot, you get an idea of how the candidate thinks through problems. These questions I think reflect general intelligence.
Work samples reflect effort and experience, which is also important.
People like to complain about one or the other like they're entitled to a job. It's hard to hire senior engineers because there aren't very many good ones, a mediocre engineer who hangs on for 5-10 years is now a "senior engineer."
You're not special. If you want a high paying job of your choosing you have to earn it. Only a vocal whiny minority is heavily complaining online. If you think you're highly competent and the problem is with all of these companies, in whose best interest it is to hire good people, you should think again.