Leetcode interviews filter out the best engineers

When you spend time building cool projects and getting those to actually work in real life, you realize that stuff you build never looks clean or perfect in the way interview problems are. Leetcode always has a nice neat solution, never like anything you’ll ever see in real life. It’ll usually have some sort of perfect magic algorithm that somehow handles all the cases at once. Not a single problem actually trains you for real-life applications. The best engineers I know are never spending their time grinding leetcode. They know it’s pointless and that concrete projects will help you so much more. If you’re a CS student, lock in before it’s over.

Having hired lots of engineers over many years, I have to agree. Leetcode tests are a bad practice, and the correlation between solving stupid puzzles and delivering on a software team is more or less zero.

I agree, I mean people have limited time in this world. It’s extremely hard to dedicate time to do leetcode, enjoy it, but actually be able to solve real world problems also.

I hate leetcode these days and I Hate HR required coding tests

I won’t force them anymore but I do think a hiring manager is usually capable of giving their own type of test since they know what they need

The correlation between solving leetcode and accepting bullshit is positive which is what companies really want.

You are more right than you know. Leetcode interviews are a strong signal that management is too lazy to invest in training, and expect you to know everything already and be happy with zero opportunities for advancement.

Look at what a principle swe at amazon said, he asked LC problems he himself would not be able to solve themself…

It is more that interviewers are often done/made by non-engineers.

So if often means that bad developers are selected and/or good engineers are rejected.

Which often leads to a position being open for several months to forever because the people that can do the job and are a perfect fit agree never selected for.

I would argue a really smart individual would be valuable to a company, and would also be able to pretty easily learn leetcode and pass it. Agreed it’s not one-to-one but there is arguably a pretty strong correlation between a strong leetcode solver and a strong problem solver, which in turn is generally a good trait to have as a software engineer. Is it the best proxy? Probably not. But is it a proxy? Sure. Besides actually doing a take home project or trusted references, I’m not sure there’s a better way to gauge someone’s general CS competency and problem solving skills and communication than the current interviews. Do you have a suggestion on how to improve the state of interviews?

Nowadays maybe just math problems similar to how quant interviews work. But then again, there is probably no good way anymore. Math is technically more fundamental, especially in machine learning. But who knows…

How about PR review? For example ‘here we have a PR from our junior developer, what in this PR would you improve? How would you give our junior developer feedback?’ This would be 1000 times closer to a job of a typical software engineer than leetcode.

Sure, but you could use anything as a proxy for intelligence. You could give all applicants a day to study some arbitrary task and have a test the next day. You could use newspaper puzzles. Doesn’t mean it’s a reasonable way to hire software devs. I think code challenges that mirror your work are the best. Build an API that does X or whatever. Design an efficient query that does X. Stuff like that. Or just talk to them and only let technical people do the interviewing. You should be able to roughly know what someone is like from a conversation honestly.

Not really. The thing is, you can easily rewrite an inefficient algorithm. Costs nothing. Try to “rewrite” having chosen the wrong database tech, or having designed the external api in a bad way.

No they don’t. They filter for the best computer science graduates which are likely to be really good at solving real world problems.

Do I personally think it’s a good idea to ask those sort of questions to senior engineers - no. Do companies do it - yes.

And let’s face it, companies in this economy don’t care about missing out on a good candidate. They care about hiring a bad one.

Sooner you accept that, sooner you can start preparing for your interviews. There’s no easy way.