Live data from Hacker News

Leetcode Considered Harmful

fullcontextdevelopment.com

61–70 of 132 posts

Re: Leetcode Considered Harmful

#61

Earlier quoted context omitted.

That's because programming is nothing like any of those professions. How many certificates do you see for musicians, painters, photographers? Programming as at least as much an art as it is anything else and art is very hard to quantify in the types of tests that most certificate systems use. It requires a project based certificate which needs more organization that exists today. IMO it'd require a guild like setup t…

Various non-software engineering disciplines implement chartered engineer schemes. I imagine there's an element of artistry there too, but they seem to cope.

Big difference is that there are standards and accepted practices in the fields in detail.

Nothing like that exists in programming, not even languages or platforms. Which is why there exist multiple proprietary certifications instead focusing on specific details.

Re: Leetcode Considered Harmful

#62
Basically there are two approaches: LeetCode vs project/test based.

The LC approach is fair if you only consider the fact that everybody will get these exercises. They are somewhat standard, and you know what to expect. However, you need to spend quite a lot of time to be able to solve difficult problems under a given time. And yet, emotions might get the best of you and you lose it, despite having solved the problem a bunch of times.

LC problems are not really useful as they don't resemble anything you'd do at work. However, if you do solve them, this shows to the company hiring you that you have been persistently training on LC problems, which shows you are consistent. A good quality, despite the uselessness of the problems.

The alternative, take home tests, are a better indicator of experience and engineering capability, although some might say one could "cheat". That's no different than outsourcing your job to somebody, which means this is fundamentally a trust issue -- so the problem lies elsewhere.

I've also seen variants of having candidates do some kind of trial where you get to experience what a typical day of work looks like at a company. This makes sense at a surface level, until you realise that the "typical day of work" is usually pretty atypical. They day of work trial generally can go two ways: the candidate works on an actual thing that needs to be done, or the candidate works on a fake thing users are supposedly asking for.

The latter is problematic, because you can do everything right, but since it's a) a fake problem, and b) you have no actual user feedback or requests to work on, this gets pretty subjective. Unless you read your interviewer's mind, you're left to wonder why you were rejected.

I'd take a LeetCode problem over a fake work day any time, as much as I dislike LC interviews. I guess all of this is to say, it's complicated :)

Re: Leetcode Considered Harmful

#63
post #32

Earlier quoted context omitted.

Well argued, but you didn't address the need for tests and/or certifications to prevent companies from being overwhelmed by a flood of unqualified candidates. A doctor, lawyer, public accountant, and, well, many types of engineers obtain public or private certifications. As a result, it is much, much, much easier for hiring companies to find and interview qualified candidates. I suppose, in the "old days" universitie…

Leetcode was created in part to be more equitable and objective. Before leetcode, we had people asking puzzles which had nothing to do with your coding abilities, like "How many balls could fit on a Boeing 747" or "If you have 9 balls, a see-saw, and one ball weighs more/less than the others, what is the minimum number of weighings to find said ball". Alma matter also used to matter a bunch more, and non-traditional…

How many times have you been asked to solve a leetcode-like problem at work? Ever?

Re: Leetcode Considered Harmful

#64
post #55

Leetcode is simple: performance on it is a proxy for a combination of two metrics, raw IQ and willingness to consistently jump through a series of arbitrary hoops to achieve some end, which is a predictor of success at large companies. If you're hiring at scale, there's nothing else that matches it in terms of difficulty to game and cheapness of cost to implement. And for every engineer who says that they refuse out…

The problem is that we have no theory of intelligence that tells us what , if anything, IQ is actually measuring. If you renamed IQ to "linear-correlated ability to take non-domain specific tests", or "GTTQ" (general test-taking quotient). Then you'd explain every observed correlation between IQ and non-IQ performance. So, do businesses want intelligent software engineers, or those with a high GTTQ score? As research…

That research was of candidates who had experience in competitive programming competitions, and IIRC it didn't show that they did worse but that they didn't do better.

There's a restriction of range effect at play here: if you look at the top "GTTQ" quartile, you're not going to see it have a huge effect in performance within that range (and the factors you mention would be far more predictive of on the job performance). But the relevant comparison isn't between how well actual candidates who barely got in perform versus how well candidates who steamrolled the GTTQ questions perform; the comparison is between the hypothetical performance of the candidates who didn't get in because they failed the GTTQ questions and the actual performance of candidates who did get in because they did well enough on GTTQ questions. For that you'd get a much stronger signal.

Though it would be interesting for Google to arbitrarily give offers to 1% of people who flunk the existing interview process just to track how well they perform on the job; that would give the world some really neat metrics to look at. (At the cost of giving everyone they hire even worse imposter syndrome.)

Re: Leetcode Considered Harmful

#65
post #45
post #16

Earlier quoted context omitted.

That's exactly how I frame my technical interviews as well. I only pick questions which I could tie to an actual, real-world problem that we've had. A couple for example: 1. Given a set of number ranges (e.g. [1..3, 4..5, 9..20, 2..5]) consolidate them. Tying this to a real world scenario: we had a system that dealt with "time periods" and we needed to write a validator to ensure all future dates were covered by at l…

On 2, to be fair, 10 TB of RAM is not that outlandish. That’s a fraction of what fits in a modern mainframe. I’d love to have an excuse to get a machine like that.

And the standard answer is that you won't get it. What then?

You can also expand the problem to be approximately internet sized.

Re: Leetcode Considered Harmful

#66
post #27
post #4

I've never heard of an effective alternative to Leetcode though. We're engineers. If you don't like something, make something better. Take home projects and how many marbles in a jar are extraordinarily worse than traversing a binary tree. I suspect that any interviewing practice will always being in detractors. It's a process of culling, those culled will dislike it.

Leetcode: weeks or months spent grinding daily, adding easily up to 100s of hours Take home project: typically capped at 4 hours. Hmmm, this is a tough one...

Often enough someone gives a take home project that actually is not even close to be capped in the time range requested unless you already work on this project.

Every such test is supposed to be calibrated. Leetcode... Is not.

Re: Leetcode Considered Harmful

#67

Earlier quoted context omitted.

That's because programming is nothing like any of those professions. How many certificates do you see for musicians, painters, photographers? Programming as at least as much an art as it is anything else and art is very hard to quantify in the types of tests that most certificate systems use. It requires a project based certificate which needs more organization that exists today. IMO it'd require a guild like setup t…

If programming is an art, then the programmer should have an audition instead of an interview. Which is approximately what leetcode is.

Most arts have a portfolio, not an audition. Auditions are specific to the performing arts which programming is definitely not. Musically I'd equate programming more to composition, not performance as there is no audience.

Re: Leetcode Considered Harmful

#68

Does anyone have actual metrics about whether this stuff works or not? All I see is anecdote after anecdote in both directions. In god we trust, all others must bring data.

The problem is that leetcode in itself is not a calibrated test. So, given any particular leetcode score, assuming the person is there, tells you literally nothing about skills involved.

Big corporations do not use it, and they would be most likely to have actual also likely untranslatable employment data.

Then there are specifics of any job - knowledge of particular system or rapid learning and experimentation skills tend to trump optimization and algorithmic knowledge. Leetcode does not really test any of that.

It is also particularly bad at weeding out cheaters. :)

Re: Leetcode Considered Harmful

#69
post #12

Happily employed and had no trouble with coding interviews myself. So my opinion isn’t from some personal angst about passing this bar: I found it easy. That said: I’m tired of the attitude that there is no effective alternative to this style of interview. You do know we hired people to do engineering jobs for many decades before the industry started cargo culting what they observed a handful of Silicon Valley mega-c…

Is there a difference in the interview process between the US and the EU? Wherever I applied to in the EU I was almost always given a small, practical programming exercise relevant to the field I was applying for and for which I had a few days to hand in my solution (usually they were quick to solve, depending on the level of polish you would put in). In the interview itself we would then discuss the implementation and that way I got to know the team I'd be working with and they could see if we were able to discuss and explain code.

Re: Leetcode Considered Harmful

#70
It is fascinating to me that people write books and articles on why "leetcode is harmful", just to have a justification for avoiding the hard work. It really makes me giggle. Considering that, if you are new to coding challenges, solving a hard leetcode problem can take up to or take more time, as it needs to write an article, I have to giggle even more. And it just shows me that the system works as intended in filtering out the lazy kind of people. Sorry for all the giggling but it is just so funny to me.
Post reply on HN