Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

People are forgetting why companies these days do Leetcode in the first place.

The initial reason why we have Leetcode today is that Google originally determined through their interview research that the smartest candidates were the ones who were best at algorithms. Google wanted to hire the smartest people, not necessarily the best coders, so that’s why their interviews were mostly algorithmic.

Of course everyone started copying Google without doing the same research and the message got lost. They just blindly asked coding algo questions and that’s why we have an entire industry built around coding algos and the signal is entirely lost now.

It’s funny that people have lost that intent and are now creating derivatives around that, ie thinking code reviews are a good replacement.

It might be, but there needs to be data done to research it to see if you get what you want. If you interview using code reviews, you get good code reviewers. If that’s what you want, great.

But remember that Google’s initial goal was to hire smart people, and there’s no research to suggest that good code reviewers are smarter than average.



When you are a company that builds core software services algorithms are actually important and not proxies, and can be studied and learnt by heart. For most software companies algorithms they are irrelevant since they are glorified CRUD shops. What google ended up with that workforce, is a percentage of failed projects (in terms of real world business value and longevity)) that would have brought other software companies to their knees. Google produces nice languages and frameworks tho.

They really need to hire less geeky people (disclaimer, also geek but with self awareness). We hire a percentage of people whose first degree is not programming and have formed relevant career paths.


> What google ended up with that workforce, is a percentage of failed projects (in terms of real world business value and longevity)) that would have brought other software companies to their knees.

It's not clear to me why this would be a result of their engineering hiring practices as opposed to their business strategy and product management culture.


The problem is that it might have been true at some point but now there are resources to “learn” for interviews, so currently you will get people willing to grind.

Nobody happy with their pay and job is going to grind leetcode.

They could just ignore leetcode and ask puzzle problems instead to test ability.


> They could just ignore leetcode and ask puzzle problems instead to test ability.

One of the hiring fads before leetcode was to ask puzzle questions, with a heavy emphasis on Fermi questions and trick questions. These had the same failure modes.

It turns out that hiring is hard, involves some risk, and always tends to illustrate Goodhart's Law: whatever process you put in place to avoid that risk will ultimately become worthless when people start optimizing for it.


> Nobody happy with their pay and job is going to grind leetcode.

I'm not going to grind leetcode regardless of how happy I am with my pay and job. I have very strong objections it. If a company requires it, I take that as a pretty strong signal that I won't get along well at that company.


The people who are good at algorithms are grinders. There is a tiny percentage of geniuses who don't need to grind algorithms. The rest of the people who were good at algos before leetcode became widespread were also grinders

In fact this is how you become "smart" - some talent and a lot of hard work (grind)


> In fact this is how you become "smart" - some talent and a lot of hard work (grind)

Hmm. I think this is a different definition of "smart" than I'm used to. I would say that some talent and a lot of hard work gets you "skilled", not necessarily "smart".


There are many different types of intelligences or smarts

Skill is a form of "functional intelligence", where skill = talent + grind. The more talent, the less you need to grind, but combined the two are killer. To me, "smart" where the grind is 0 is not "smart", but just "lucky" (born with talent)


Honestly, being "willing to grind" might be a good thing to target if it's a good proxy for being willing to do the work.

However, I agree with the general sentiment that almost nobody is doing the research to ensure their interview process selects for the things they actually want.


I’m willing to grind if you present me with a real life problem you need solving. I’m not willing to run on a hamster wheel, it seems illogical to me.


And therefore you are not an employee they want.

These companies don't want an employee who starts to question "why" things should be done or why things are important. Demonstrating that you are willing to apply yourself at something objectively useless simply because you are required to is a huge plus.


This is the situation at most big companies.


1. Learning algorithms and practicing leetcode is not actually useless. A deep knowledge of algorithms falls under the category of high value knowledge that is not frequently needed. Its still high value when its needed and you cant predict when it is needed.

2. Its not a hamster wheel because you get a high paying job for your efforts


My sentiment too. These Leetcode style websites will take an algorithm and then come up with a contorted problem that can be solved with that problem. Often the problem is not even worded precisely but people who have been wasting time on solving random problems can see the patterns apparently.


Weeding out candidates who aren't willing to ride the hamster wheel is a huge point of leetcode.


> Honestly, being "willing to grind" might be a good thing to target if it's a good proxy for being willing to do the work.

Grinding is a poor proxy for work ethic. It is a good proxy for submissiveness.


You might be right, but I think it could be both.


> The initial reason why we have Leetcode today is that Google originally determined through their interview research that the smartest candidates were the ones who were best at algorithms. ... It’s funny that people have lost that intent and are now creating derivatives around that, ie thinking code reviews are a good replacement.

Have you considered that what's actually happened is people are finally realizing that they don't want to optimize for the characteristics that Google is optimizing for?

Setting aside the question of whether "smart"s are something that can be sought out without a more specific definition, the average business doesn't need "smart" programmers. They need programmers who are predictable, who reliably produce good-enough software, who communicate well in speech and in writing and who work well on a team. Algorithmic ability provides essentially zero signal for these capabilities, so it's not so much that people have lost the intent that they're realizing that the process they cargo culted isn't appropriate for their hiring needs.


> The initial reason why we have Leetcode today is that Google originally determined through their interview research that the smartest candidates were the ones who were best at algorithms.

How did they measure "smartness"? The Leetcode algorithms are mostly solved problems and I know people who can "solve" any leetcode you throw at them, but they are very poor at actual real world problem solving.

It's quite a bit like saying people who memorised Wikipedia are smart, because they know things.

To me being smart is to know where to look.


"When a measure becomes a target..."

Also, I wouldn't take Google's (nor anyone's) claimed research about hiring at face value.


I'd wager that the best mathematicians would fail on these "algorithmic thinking" interviews. Modeling a problem, even a simple one, as a computational problem requires time, trial and error beyond what you get in an interview.


It seems like chasing golden unicorn super smart bois has been more of a problem than a solution in SV and companies like google. It starts to look like a schoolyard game or mensa.

I'll just get the smartest of the smarts and rule the world! If I only get the alphas of the alphas, I'll surely win.

Reminds me of all the NBA players getting schooled in FIBA, because the international teams have better chemistry. At one point they had to do a total re-boot, because it was so embarrassing.

I know of at least one second tier, non-sv shop that goes hard to hire the best developers in terms of intelligence. It actually leads to huge quality problems during recruiting and poor diversity. There's just something about mega-nerds with extremely poor social skills that keeps the women and minorities away.

What I'm talking about isn't just awkwardness and lacking charisma. I'm talking about randomly telling women that they can tell she is on her period and things like that.


> It seems like chasing golden unicorn super smart bois has been more of a problem than a solution in SV and companies like google. It starts to look like a schoolyard game or mensa.

> What I'm talking about isn't just awkwardness and lacking charisma. I'm talking about randomly telling women that they can tell she is on her period and things like that.

These don't seem limited to SV and Big Companies™ like Google, all it takes is a cursory scroll either through this website (even this thread!) or a trip to any of the CompSci-focused boards on Reddit. Additionally not limited to women and minorities, but anyone from a non-traditional background as well.

If anyone feels like working on these issues, the problem is extremely local, you don't even have to leave HN!


Maybe true, but in other industries, such as ones that are more "business and engineery, there's less of this obsession with getting an ultra-genius, although we know how valuable engineering talent is.

As a result you get pretty average people. Even the weirdos tend to be just quiet and reclusive. My brother on the other hand, went to work for a smaller B tier to google, and he had multiple co-workers that were just beyond bizarre.


It’s just a proxy measure for IQ really. They could have handed out Ravens matrices and got better outcomes prediction.


I assure you, they would if they could, but its illegal.


A quick search indicates that it is not illegal in the US as a whole, but maybe California?


What's illegal is IQ/ability tests having disparate impact on particular racial groups. You can only use them if you can justify how they're related to the job (which is much easier for algorithms stuff in SE roles).



You can also train for IQ tests.


People misunderstand the reason for this. Test takers can improve, but only up to a point, and only because they getting comfortable with the test format, not because they're getting any smarter. Solution: give the candidates a few practice tests first.

This extends to every test though. My ACT score jumped massively on my second try. The reason: I didn't realize how much little time they gave test-takers, so I ran out of time on some portions. The second time around, I rushed through as fast as possible.


You're certainly not getting smarter. It's the test format that is not very reliable.


Is memorization how we should measure IQ? If so then LLMs have already far surpassed humans.


A LLM would do pretty/very well in a leetcode interview


In a "have you memorized the code to solve this problem" interview? Probably.

In a "can you solve this new leetcode problem that just came out and is not in the training data"? Awful.


There are probably about 30 or so leetcode problems and then endless variations made for those 30 problems. The best people on leetcode practice and memorize.

If you want to see an example of a new problem check out https://news.ycombinator.com/item?id=37910297. You'd think if leetcode makes you good at solving problems then it should be doable any higher ranking leetcode programmer.


> There are probably about 30 or so leetcode problems and then endless variations made for those 30 problems. The best people on leetcode practice and memorize.

The comment I replied to claimed that "LLMs would do pretty well at leetcode interviews". OpenAIs own report [0] shows how GPT-4 fails miserably at medium/hard leetcode problems that are not in the training data.

[0] https://cdn.openai.com/papers/gpt-4.pdf


I wouldn't consider doing 31/41 easy problems, 21/80 of medium problems, and 3/45 of hard problems a failure. GPT-4 wasn't built to solve these problems but can still do 3 of 45 hard problems. Hell I don't know if you sat down 45 random programmers if 3 of them could solve those 3 problems GPT-4 was able to do, and nobody could solve them in the time it took GPT-4.


Hell I wish they would tbh. I have a decent IQ (140), but can't (or just unwilling to) grind leet code


An IQ score of 140 is considered near-genius or genius level and places you in the top 0.25% (99.75 percentile) of the population.


Actually 137 if test was accurate, I still don't do well with leet code whiteboarding though, shrugs.


Maybe you just need to find something you enjoy doing, programming might not be "it"?

Or do you do well solving the problems on your own and just have trouble when being interviewed?


The latter, take home projects I do well on (projects, not HackerRank quizzes)


That's a believable score around here. There are over 8 million Americans with that score (assuming OP is American) and this place probably has a disproportionate number of high-IQ people posting.


My IQ is 125 and I feel the same......I love solving problems but only if I feel like they are real world problems.

I did extremely well in algo classes in school.....but since then I have built actual applications that run businesses and haven't used algorithms at all.

Grinding leetcode feels like running on a hamster wheel for me.


I agree. You have to do the test that really relates to what you are looking for.

For backend web devs I'm hiring I established a modified version of a process that has worked for me well before:

1. Interact with a RESTA api and solve the problem by doing cURL requests and some lightweight string mangling and computation to generate key. Then submit the result with your BASE64 code in the request.

Your code is analyzed with ts-node (I look for TypeScript devs) and we check the validity of your generated key.

On success I get an email with the person info and the code. To follow up.

I give the url of the challenge to anyone whom I get their CV and seem interesting for the position. A lot of people disqualify themselves because they dont know a REST endpoint needs the correct content headers, or dont know how to send Auth Bearer token, etc.

Then I see the code, and if I like it, i send them a link to self book a 90hr interview. 30/50 mins are to talk about their experience, resumé in hand, and the rest is to make a version of the server to process the requests from the client they submitted. The problem is common knowledge for both of us, its basically what tgey will be doing, and it allows me to vouch for how they code. Mind, I dont care if we dont finish it, I just want to see if we can solve a problem together with the candidate driving.

And that's it. At the end of the interview I can tell them if I'm going to make them an offer .

I try to do interviews the way I'd like to be interviewed. I hate tech interviews, its stressful and seems pointless sometimes. Why would I do that to people who will be my peers? Bad taste.


sounds like a great process. are you hiring? email is in my profile.


Sorry, I'm pay Mexican pesos, as I hire in Mexico. Theoretically I could hire from outside Mexico, but people in US and Canada are expensive


no problem. best of luck with your company!


How do they measure which candidates are the smartest? And if such a method exists why they don't use this method in interviews directly?


by asking them leetcodes... Leetcode also has the advantage of being tangentially related to software engineering and you are able to improve by practicing. Employers want people who are willing to sacrifice their life for the job so leetcode is better than a straight iq test.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: