News for hackers. Stuff that matters.
Re:Stop Interviewing with Leet Code by hiq on Thursday June 09, 2022 @06:08AM (#31679415)
> Someone who builds a truly novel technology solution involving hundreds of hours of effort

This person should already have enough of a reputation to get a job at many companies, if their work is public enough.

What do you suggest for the 99%+ other candidates?

Re:Stop Interviewing with Leet Code by heurisko on Thursday June 09, 2022 @06:39AM (#31679589)
I have over a decade of experience, including driving big technical change at one organisation, and was filtered out by a timed leetcode test. I put together a repository of leetcode practice, as I had a feeling that I would have bad luck on the day. They didn't look at this.

The internal recruiter said it kept happening for seniors and people with a lot of experience, but his hands were tied, as the leetcode process was deemed important by the CTO.

Re:Stop Interviewing with Leet Code by szundi on Thursday June 09, 2022 @07:46AM (#31680005)
Actually best thing happened to you evading the work under this CTO
Re:Stop Interviewing with Leet Code by srcreigh on Thursday June 09, 2022 @12:48PM (#31683545)
What was the question?
Re:Stop Interviewing with Leet Code by lkxijlewlf on Thursday June 09, 2022 @01:00PM (#31683745)
Is that relevant?
Re:Stop Interviewing with Leet Code by bruce343434 on Thursday June 09, 2022 @07:00AM (#31679716)
>it kept happening for seniors and people with a lot of experience

Why would this be? Old brains not being as "flexible" to think up novel solutions?

Re:Stop Interviewing with Leet Code by sourabhv on Thursday June 09, 2022 @07:07AM (#31679758)
If you think it’s about flexibility or brilliance or intuition or experience, you couldn’t be more wrong. Leetcode and others and purely about practice and that too recent practice, all questions follow similar patterns and if you have it fresh in memory you can write it in 5 mins. But writing it from brainstorming can take more time tha allotted.

So are top leet coders better programmers? Not really, a lot of them are colleges students who have time to practice and they are in similar competitive circle. I’ve interviewed many and couldn’t hire even one

Re:Stop Interviewing with Leet Code by skeeter2020 on Thursday June 09, 2022 @07:21AM (#31679840)
You think LeetCode problems require novel solutions? It's the exact opposite: they're great for new grads who just spent 4+ years cramming for exams.
Re:Stop Interviewing with Leet Code by EdwardDiego on Thursday June 09, 2022 @08:22AM (#31680286)
Bingo. I was asked recently to find the maximum subarray of an array, in a live coding exercise. In TypeScript. So, JS, but with type annotations.

The interviewer themself said "this is probably more aimed at someone who just graduated."

It was for a senior data engineering role, where the odds of me implementing classic dynamic programming problems on the regular are slim to none.

They made me an offer anyway, but I just wonder what value they found in that. Oh, he knows about Big O? He's heard of memoisation?

They were big on FP, apparently. But not Scala, there was too much FP in that for them, hence the TypeScript.

Mind you my first ever rejection was for a Python role back in 2011 when Python was still very niche in my country, and while I had a portfolio of, imo, pretty decent Python code, they weren't interested because I didn't have a degree, and people without degrees write unstructured code.

Which is a very long way of saying, every interview process ultimately devolves into people hiring people like them.

Re:Stop Interviewing with Leet Code by zinclozenge on Thursday June 09, 2022 @01:08PM (#31683889)
I'd hire you on the basis that you know that it's memoization and not memorization.
Re:Stop Interviewing with Leet Code by 0x20cowboy on Thursday June 09, 2022 @04:27PM (#31686373)
I was once asked "how do you sort a list of integers?" - the question was so ill defined that I thought it was a joke (in a database?, how long is the list?, in a flat file?, memory only?, on an embedded system?, a dataset in spark? ...).

Thinking, ok, this must be an ice breaking joke I responded, "I don't know, how _do you_ sort a list of integers?". In a condescending tone they responded "are you even a programmer?". At the time, I had been in the game for more than 10 years.

I am really not sure how one could successfully build several companies and have shipped several products without knowing "how to sort a list of integers".

Trying to find a good place to grow your career is difficult on many levels, but if you find leetcode questions silly, you might be too advanced for entry level jobs. ...and you probably don't want to work there.

Re:Stop Interviewing with Leet Code by kristopolous on Thursday June 09, 2022 @12:16PM (#31683111)
In that way it also acts as a legal form of ageism.
Re:Stop Interviewing with Leet Code by dragonwriter on Thursday June 09, 2022 @12:19PM (#31683142)
Or, perhaps more accurately, a layer of plausible deniability to cover illegal age discrimination.
Re:Stop Interviewing with Leet Code by MichaelBurge on Thursday June 09, 2022 @07:08AM (#31679762)
People straight out of college will spend a month doing 100+ Leetcode problems targeted at the companies they're aiming for. Leetcode tracks problems used at interviews, so there's a very good chance they'll see a problem identical or similar to one they've solved already, and it's just pattern recognition.

After the 3rd or 4th time doing this, practicing the same problems just to pass interviews isn't very appealing, especially if you've saved money and can do something more interesting.

You could try to "wing it" and derive it on the spot, but you'll be outcompeted by someone doing a lookup of a solution + alternate solutions from cache.

Re:Stop Interviewing with Leet Code by azemetre on Thursday June 09, 2022 @07:16AM (#31679806)
Nah, it’s just that LC problems take practice to get good at. Similar to weight lifting you wouldn’t expect to bench 250 lbs your first week, but after training and making progress you’ll get there (or close).

If you’ve never done LC (or any competitive programming) you’ll struggle. Practice more and you’ll recognize the dozen or so patterns.

Also LC is not “novel,” maybe at the time when the algorithm was first devised but not when you have 20 minutes to solve one.

Re:Stop Interviewing with Leet Code by ehnto on Thursday June 09, 2022 @08:26AM (#31680315)
The tests aren't testing for competency at the job, and after a decade of experience writing software you have long ago realized that party tricks and cute algorithms are a fairly rare part of the job (generalizing here of course), so you stop thinking about them as much and get out of practice. When they do show up, you certainly don't have to do them in 10 minutes, and I think everyone would rather you didn't anyway, so that you write a robust solution rather than a clever one.

Students are often better at leetcode because school has been drilling this shit into them for the past three years, but it will probably be the last time they see such a compelling algorithmic challenge until their next leetcode exam.

Re:Stop Interviewing with Leet Code by bruce343434 on Thursday June 09, 2022 @11:17AM (#31682297)
>write a robust solution rather than a clever one

but why must it be mutually exclusive? Are you implying all "robust" solutions, whatever that means, are dumb? Surely you put some thought in it to make it "robust"?

Re:Stop Interviewing with Leet Code by tsimionescu on Thursday June 09, 2022 @02:09PM (#31684727)
In general in this type of use, "clever" and "dumb" would better be called "tricky" and "obvious" respectively. Usually people describe very tricky solutions as "clever", and much more obvious solutions as "dumb" jokingly.

For example, storing some flag in the high bits of a pointer field of a struct is a "clever" solution, whereas having a separate bool field is a "dumb" solution. In most cases, the "dumb" solution is much more robust over time (less likely to cause bugs as the code changes and is modified by various people). Of course, the "clever" solution is necessary in some situations (very constrained environment, critical infrastructure such as an object header used for every type etc), but should often be avoided if possible.

What's important is that the way this is often presented is that more experienced people will prefer "dumber" solutions, as experience often shows that long-time maintainability trumps many small losses of efficiency. So using "clever" and "dumb" in this way is not at all intended to put down the engineer writing the more robust version.

Re:Stop Interviewing with Leet Code by ehnto on Friday June 10, 2022 @01:30AM (#31690408)
When it comes to everyday software solutions you are usually aiming for obvious and clear, and often 'clever' is obtuse and opaque but definitely not always.

I think there might just be some vernacular nuance here though, maybe we can call it smart and robust, versus clever and opaque. Some problems are just difficult though, and if you get to work on that kind of problem regularly then that is pretty lucky.

Re:Stop Interviewing with Leet Code by aantix on Thursday June 09, 2022 @01:52PM (#31684479)
Novel solutions aren't as helpful as you think. Pragmatic, simple, vanilla solutions are reliable.

You won't create your own linked list library, you'll use one from the standard library.

General runtime analysis can be helpful - but production, real-world benchmarks trump all theoretical performance values.

Code changes - how do I make a change to a production system in a million line code base that has good test coverage and when deployed, won't bring the entire system down. That's an exercise in the coding interviews that is completely ignored but most useful in the day-to-day professional setting.

Re:Stop Interviewing with Leet Code by atraac on Friday June 10, 2022 @05:25AM (#31691834)
> General runtime analysis can be helpful - but production, real-world benchmarks trump all theoretical performance values

This is what I always found funny. Most of the software development work these days is related to web apps. Optimizing that nested loop won't do anything if you have to wait 300ms on some shitty API to answer anyway. It literally doesn't matter, noone cares.

Related meme I saw on reddit some time ago where senior developer says 'haha nested for loop go brrrrr':

https://i.redd.it/lmrf72ko0ro41.png

Re:Stop Interviewing with Leet Code by jmopp on Thursday June 09, 2022 @07:52AM (#31680035)
I've forgotten most of the algorithm stuff I learned at university that I haven't used in my job. I know how dynamic programming works and I can recognise such a problem, but don't ask me to implement it in an hour. I know how graphs work and what the various algorithms are, but why would I implement any of them when I can just import networkx?
Re:Stop Interviewing with Leet Code by vidarh on Thursday June 09, 2022 @09:54AM (#31681155)
More likely a lot of us don't feel we have to cram for problems suitable to screen entry-level candidates at most.

Personally I'm perfectly happy to be filtered out by such tests and refuse to practice for them, as companies that use them for senior level positions are companies I really don't want to work at.

Re:Stop Interviewing with Leet Code by sai_c on Thursday June 09, 2022 @06:28AM (#31679524)
> This person should already have enough of a reputation to get a job at many companies, if their work is public enough.

But then why do people with that kind of reputation still (at certain companies) have to jump through these hoops?

https://www.theregister.com/2010/04/21/ken_thompson_take_our...

> What do you suggest for the 99%+ other candidates?

What about (instead of forcing a months long decision process upon the candidates and the company) bringing them into the company after a short interview (maybe 2hrs), and making sure they can afford housing, food and everything else they need. If you like their work, they stay employed. If, say after one month, you do not like what you see, you can easily let them go. Of course you tell them upfront what the deal is.

We could call it, I don't know, maybe trial or probationary period.

Re:Stop Interviewing with Leet Code by grogers on Thursday June 09, 2022 @07:50AM (#31680023)
That's a big overhead for both the candidate and the company. Only an unemployed candidate could do that, and even then they'd have to stop interviewing at other places to dedicate the month. No thanks.
Re:Stop Interviewing with Leet Code by NikolaNovak on Thursday June 09, 2022 @08:26AM (#31680310)
True Probationary period / uncertain employment is

1. Untenable for employees - of I have a mortgage or family or plans or obligations let alone a current job, taking this kind of risk is unacceptable

2. Untenable for companies - that's way too much investment.

Companies do have probation periods formally but they are exceeeeedingly rarely invoked, for above reasons.

Re:Stop Interviewing with Leet Code by Dudeman112 on Thursday June 09, 2022 @09:32AM (#31680916)
Might I introduce you to Europe?

Works here. My org recently ditched a bad hire with it.

Re:Stop Interviewing with Leet Code by NikolaNovak on Thursday June 09, 2022 @01:22PM (#31684080)
I think we'd need to share more detail (and fwiw, I'm half from europe and half from Canada :).

Certainly companies have probation periods. And on paper, that reality and what's proposed in previous post are similar.

But I think there's a massive real world difference between "Default stay hired" and "Default not stay hired".

Probation, as it has currently been implemented in most companies I've worked in, exists, is formal, can and has been used, but is an exception. It's used when there's a massive, unanticipated, egregious problem in performance.

What is sometimes proposed in these threads is effectively replacing long/multiple interviews, with a probation period. While such probation period may look similar or same on paper, I think it's a completely different approach: "We're sure of you (though possibly wrong) so we're hiring you" vs "We're not sure of you so let's hire you and see!". I for one would have only touched the latter with a 100ft pole maybe once in my life. Certainly, I imagine anybody with current job and monthly obligations, would be quite wary in taking a "we don't know so let's try it!" approach to hiring. No, let's figure it out first please :)

Re:Stop Interviewing with Leet Code by vidarh on Thursday June 09, 2022 @02:01PM (#31684612)
I've only done the latter in the form of being brought on as a contractor at (high) contractor rates but with the understanding they'd prefer to have me join full time, at a time when I was already doing contracting and had other clients in parallel covering parts of my costs. In that situation I was not taking on any more risk than I had already chosen (and planned for) by contracting, so it was fine.

It's the only kind of context in which I'd ever consider the "we don't know so let's try it" approach.

Re:Stop Interviewing with Leet Code by hiq on Thursday June 09, 2022 @05:51PM (#31687397)
> But then why do people with that kind of reputation still (at certain companies) have to jump through these hoops?

Your article points out that in this example: "I'm not allowed to check in code, no... I just haven't done it. I've so far found no need to.".

> If, say after one month, you do not like what you see, you can easily let them go. Of course you tell them upfront what the deal is.

> We could call it, I don't know, maybe trial or probationary period.

You make it sound like it's a better solution for candidates, but it's way worse for many of them and it has been explained by other commenters already.

How many companies actually do this? At which scale?

Some companies increased their difficulty to hire by having aggressive PIP objectives. Likewise, having a "real" probation period where you fire, say, 10%+ of employees is not gonna make you competitive when candidates compare their offers.

Re:Stop Interviewing with Leet Code by willcipriano on Thursday June 09, 2022 @08:34AM (#31680402)
My expectation with such an arrangement is that if you do decide to hire me, since I am now a known quantity you won't have an excuse to pay anything other than top of the market rates. "You said you hire only the best right, and you've seen me work, you want to hire me, looks like the best make $X."
Re:Stop Interviewing with Leet Code by rat9988 on Thursday June 09, 2022 @07:12AM (#31679781)
> But then why do people with that kind of reputation still (at certain companies) have to jump through these hoops?

They don't. Your link is not about the interview.

Re:Stop Interviewing with Leet Code by throwaway2037 on Thursday June 09, 2022 @08:50AM (#31680587)
It would be fair if the company has to pay you 5-11 months of salary if they decide no after the evaluation period. That would leave ample time to find another job. Also, in many jurisdictions, this kind of arrange isn't legal, for good reason, as the company has way more power over the individual worker.
Re:Stop Interviewing with Leet Code by WorldMaker on Thursday June 09, 2022 @01:29PM (#31684172)
We could make sure that a person only has to do that trial once in their career and then every other company should accept that they've done it because they've proven they've done it. We could call it an Apprenticeship or an Engineer-In-Training stage. (Where have I heard those before?~)
Re:Stop Interviewing with Leet Code by closeparen on Thursday June 09, 2022 @01:18PM (#31684027)
>This person should already have enough of a reputation to get a job at many companies, if their work is public enough.

You can't just hire someone based on their reputation at a company of any maturity. That's a legal and HR nightmare. There has to be a process with a semblance of objectivity, and that process has to demonstrably apply to everyone equally, always.

Re:Stop Interviewing with Leet Code by asdff on Thursday June 09, 2022 @01:26PM (#31684135)
Which in practice means you put out a fake job posting where the qualifications uncannily mirror this persons resume to a tee, and you hand them the job formally after a week.
Re:Stop Interviewing with Leet Code by closeparen on Thursday June 09, 2022 @01:36PM (#31684251)
Yes, but the forms must be observed. You can't just skip the interview, or give people you like a softball interview compared to other candidates.
Re:Stop Interviewing with Leet Code by asdff on Thursday June 09, 2022 @05:13PM (#31686974)
I've been in situations where I was already somewhat working and onboarding while the faux job ad was up for the two week or however long mandatory posting period. tallied the hours separately and got paid back after i was hired.
Re:Stop Interviewing with Leet Code by tsimionescu on Thursday June 09, 2022 @02:20PM (#31684879)
I can't at all imagine why this would be the case. Why would a company have any kind of liability for hiring biases such as reputation (except for systematically refusing candidates from protected groups, of course)?
Re:Stop Interviewing with Leet Code by chadash on Thursday June 09, 2022 @01:24PM (#31684113)
Hiring based on reputation is the same as hiring based on resume. And it's extremely common in almost any company. Why would it be a legal or HR nightmare?
Re:Stop Interviewing with Leet Code by sdevonoes on Thursday June 09, 2022 @08:13AM (#31680208)
> What do you suggest for the 99%+ other candidates?

To apply for the 90% tech companies out there. 10% of all tech companies out there are FAANG or FAANG-like. 90% of tech companies are normal tech companies (they'll care about your education and cv and the interviews are usually just a chat. No IQ tests)

Re:Stop Interviewing with Leet Code by ehnto on Thursday June 09, 2022 @08:21AM (#31680277)
I think it would be exceptionally hard to build an individual reputation in the tech community in general, props to those who have, but building a reputation in a specific industry and local community is much more achievable for everyone.

In smaller industry niches this can be true for companies more than people. At this point in my career, the fact that I worked at Company X is evidence enough that I can do the job Company Y wants me for, since it's a tight industry they essentially know of the work I was doing, even though it wasn't a groundbreaking novel technology of my own.

Re:Stop Interviewing with Leet Code by bodge5000 on Thursday June 09, 2022 @10:50AM (#31681898)
Wasn't there famously the story of the guy who wrote a package manager (brew?) that become massively popular and was widely used at google, and yet google rejected him for a job because he couldn't invert a binary tree or something?

Don't know all the details so I could be missing something crucial, but if not it'd seem that reputation isn't enough

Re:Stop Interviewing with Leet Code by gjm11 on Thursday June 09, 2022 @11:12AM (#31682218)
Yup. Max Howell, creator of Homebrew. A bit more information here https://www.quora.com/Whats-the-logic-behind-Google-rejectin... (link to Quora, uggh, but that's where he wrote it). HN discussion of that: https://news.ycombinator.com/item?id=15981338. Howell's earlier tweet after getting turned down by Google: https://nitter.net/mxcl/status/608682016205344768?lang=en. "Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off."
Re:Stop Interviewing with Leet Code by heyoni on Thursday June 09, 2022 @01:26PM (#31684147)
I don’t necessarily think leetcode should be the only litmus test for a candidate but Max is an outlier. Not every candidate getting rejected by a leetcode question is also capable of building out homebrew on their free time.
Re:Stop Interviewing with Leet Code by dvirsky on Thursday June 09, 2022 @01:02PM (#31683782)
I had a great track record that was out in the open, actually displaying vast knowledge of algorithms and data structures and exactly the stuff that's being asked in those interviews. FAANG interviewers did not care one bit about it. They actually consider it bias to look at a person's prior work.
Re:Stop Interviewing with Leet Code by __turbobrew__ on Thursday June 09, 2022 @06:36PM (#31687844)
Re:Stop Interviewing with Leet Code by pyb on Thursday June 09, 2022 @10:28AM (#31681604)
Plenty of great developers with a prominent public profile appear to be under-employed.
Re:Stop Interviewing with Leet Code by anon23anon on Thursday June 09, 2022 @11:37AM (#31682559)
They 100% can get a job and a decent one. I know because I fall into this category BUT the FANG salary are 2 to 2.5 times what I make at this point which pushes me down the study leetcode part.
Re:Stop Interviewing with Leet Code by Der_Einzige on Thursday June 09, 2022 @12:29PM (#31683269)
Guy who wrote apple homebrew got filtered and rejected by Google for not reversing a binary tree.

Apple homebrew is used by tens of millions of people daily.

Re:Stop Interviewing with Leet Code by jen20 on Thursday June 09, 2022 @08:33PM (#31688656)
Nit: homebrew is not from Apple and is not even limited to Apple platforms.