I feel like I have been making a decent amount of coding questions here, but I think this one has been on my mind for some time.
Do you think the modern technical interview for open Software Engineer roles is broken? When I say modern, I mean questions that you typically find on LeetCode and the like or extensive whiteboard problems via online software or in-person.
If you are not familiar with LeetCode or a similar service - it's basically a collection of problems that you solve through code. These questions vary in difficulty and can be filtered on specific companies that might be likely to ask such questions on an interview.
If you browse the Discussion section of LeetCode, you will find people sharing their stories of how they trained for months, sometimes years to prepare for their interview. Of course, not all are successful, as there are often more failure stories than success.
It felt like only FAANG companies would use LeetCode to identify candidates but it seems like a lot more companies are taking this approach as well.
Personally, I am mixed on the modern technical interview. I think candidates who cannot solve a BFS problem on the fly should not be discarded because I know that 9 times out of 10, the person issuing the question couldn't either. However, some level of assessment should be considered. I think a lot of companies put too much emphasis on reversing a Linked List or designing a LRU Cache and do not consider candidate's previous work and contributions or how they would gel with the team, given their personality.
I think a fair interview would be to give a candidate a crude version of a bug that exists in their backlog (not exact, but the gist) and to let the candidate use any resource they can to solve it (while watching them and asking their approach). I'd let them Google and would evaluate their searches and their thought process, rather than the code so much. Maybe that makes me soft, but that's how 99% of developers work anyway. No one has merge sort memorized.
Also, I don't think companies realize or care how demoralizing a bad interview can go for candidates. If I get a question you just don't understand, I start to get self-doubt and down on myself. It makes me feel worthless, to be honest. I can't talk my way through it - I just look and feel not so smart.
Anyway, what do you all think? Is it survival of the fittest or has the modern technical interview evolved into something that is not a true measure of a good candidate?
Do you think the modern technical interview for open Software Engineer roles is broken? When I say modern, I mean questions that you typically find on LeetCode and the like or extensive whiteboard problems via online software or in-person.
If you are not familiar with LeetCode or a similar service - it's basically a collection of problems that you solve through code. These questions vary in difficulty and can be filtered on specific companies that might be likely to ask such questions on an interview.
If you browse the Discussion section of LeetCode, you will find people sharing their stories of how they trained for months, sometimes years to prepare for their interview. Of course, not all are successful, as there are often more failure stories than success.
It felt like only FAANG companies would use LeetCode to identify candidates but it seems like a lot more companies are taking this approach as well.
Personally, I am mixed on the modern technical interview. I think candidates who cannot solve a BFS problem on the fly should not be discarded because I know that 9 times out of 10, the person issuing the question couldn't either. However, some level of assessment should be considered. I think a lot of companies put too much emphasis on reversing a Linked List or designing a LRU Cache and do not consider candidate's previous work and contributions or how they would gel with the team, given their personality.
I think a fair interview would be to give a candidate a crude version of a bug that exists in their backlog (not exact, but the gist) and to let the candidate use any resource they can to solve it (while watching them and asking their approach). I'd let them Google and would evaluate their searches and their thought process, rather than the code so much. Maybe that makes me soft, but that's how 99% of developers work anyway. No one has merge sort memorized.
Also, I don't think companies realize or care how demoralizing a bad interview can go for candidates. If I get a question you just don't understand, I start to get self-doubt and down on myself. It makes me feel worthless, to be honest. I can't talk my way through it - I just look and feel not so smart.
Anyway, what do you all think? Is it survival of the fittest or has the modern technical interview evolved into something that is not a true measure of a good candidate?