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

If leetcode is intended to avoid discrimination, in my opinion it fails miserably. As the parent poster mentioned, it certainly rules out people that don't have the resources to study, but it also rules out another class of people prone to panic disorders. I'll share my leetcode horror story to illustrate.

At the time, I had been coding for 15 years in multiple languages. Out of the blue I got poked by a Facebook recruiter and on a lark decided to go through the process. I made it through the phone calls and screen-share coding sessions just fine. I went onsite and had a several interviews that went swimmingly.

Then near the end of the day, I ended up getting a whiteboard coding challenge that involved pretty simple array manipulation and my brain absolutely locked up. In retrospect it was comical, but at the time it was incredibly humiliating. There I was just alternately staring at the whiteboard and the interviewer with what I can only imagine to be the most hopeless expression. My brain fog absolutely impenetrable.

At this point in my life, I'm fairly familiar with the condition. Basically for some random reason, the thought pops into your head just how disastrous it would be if you failed at this thing you're being asked to do. Then your consciousness inevitably becomes obsessed with this thought and it's all you can think about. You start panicking and soon you have absolutely zero mental bandwidth to accomplish the task and your mind is basically singularly focused with getting out of this terrible situation. It sucks.

So, I'm always a little annoyed when I hear people say, "what's the big deal with a little leetcode?"

I mean, I get it, if I actually could not solve those problems, I would not be eligible for the job. But the reality of whiteboard leetcode is that you're not screening for people that can code, you're screening out people that can have panic attacks. In my opinion, it is borderline disability discrimination.



>You start panicking and soon you have absolutely zero mental bandwidth to accomplish the task and your mind is basically singularly focused with getting out of this terrible situation

This is such a relatable description.

I don't think you even need a panic disorder to have this happen to you, this has happened to me a handful of times and it's absolutely the worst. It really is humiliating, totally ruins your day and you end up kicking yourself for several days after. I think this is just something that a lot of people do, like stage fright or something. The only way I know to avoid this is to do a lot of interviews with different companies that you don't really care about to get more confidence before you finally do get to the interview you care about, just so you don't choke during the one you want.


No. Some people have panic and anxiety disorders and need professional help and/or medications to help them. It is this kind of tone deaf advice, “just prepare more, you’ll eventually get it!” that prevents people with a panic disorder from seeking professional help for years. It is like telling someone with diabetes to just try harder to produce insulin.


And how beneficial is telling people they have a mental disorder if they experience common issues that even healthy people experience? A mental disorder has to significantly impact your life for a long period. A symptom list that consists solely of freezing up when put on the spot in a rare high-stakes situation is not going to qualify. Any teacher can tell you this happens to everyone. Stop right in the middle of lecture, point at one student suddenly, and ask them a quick question that demands a quick answer and wait. The most common response will be "uh!uh!..." even when they know the answer. It's about the situation itself that people weren't ready for, not the specific facts they were asked about. You indeed need to practice retrieving information under the particular circumstances to build the confidence to not freeze up like that.


Could you please stop creating accounts for every few comments you post? We ban accounts that do that. This is in the site guidelines: https://news.ycombinator.com/newsguidelines.html.

You needn't use your real name, of course, but for HN to be a community, users need some identity for other users to relate to. Otherwise we may as well have no usernames and no community, and that would be a different kind of forum. https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...


Spoken exactly like someone who has never had the pleasure of experiencing the vicious and debilitating feedback loop of a panic attack. Of course everyone gets nervous when put on the spot; panic disorders go well beyond that, to the point where you might believe your death is imminent during something like a routine interview, and your fight or flight response kicks in. Rather than concentrating on the problem at hand, your mind is focused solely on survival.


> You indeed need to practice retrieving information under the particular circumstances to build the confidence to not freeze up like that.

Is that part of the job description now?

What are these characteristics that:

1. Are present in the day-to-day work of a great many impactful software engineers that employers want to hire?

and

2. Do not discriminate against gender, gender identity, race, national origin, faith, sexual orientation, veteran status, age, and any and all other characteristics that employers are forbidden from discriminating against?

and

3. Are present and can be easily recognized in a leetcode-style interview keeping in mind that the number of similarities/amount of overlap between leetcode-style and day-to-day software engineering work is very close to zero if not zero?


True, though a lot of times the professional help will mostly consist of coaching you through how to "prepare more and eventually get it." The block is around taking the steps that help you improve. Yeah, medication is sometimes necessary, but exposure is a huge component of many different kinds of therapy.


Meanwhile on the job nobody is surprised or angry if you need to look up basics because they know you have five languages under your belt and are actively using three of them.


Yeah exactly this. "Figure stuff out without looking anything up or running test cases to see what they produce or going on a walk to think about it" is just not a useful skillset at all. I have zero, and I mean zero, times done actual work under those conditions.

Having said that, I am sympathetic to companies not knowing what to do that is better. There are real tradeoffs with all approaches.

I kind of think if I were to design the hiring system from scratch I would 1. Hire essentially anyone interested at the entry level for low paying 6 months apprenticeships, and 2. Hire more senior people based on their resume alone, with aggressive use of performance improvement plans for underperformance after 6 month or so probationary periods. I'm sure this idea sucks too.


I experienced this recently in a surprise 'shared screen' coding exercise the interviewers threw in at the last minute.

I couldn't even remember how to write a for loop in bash, something so familiar it would be like asking me to recite the alphabet. Utterly humiliating yet comical experience looking back.


At this point I'm convinced "candidate froze up" is the cause of most of the cases behind the "LOL 2/3 of our candidates can't even write a for loop" stories. I think it's really common.


Allow me to pile on here for perspective, in hopes there might be people who hire people on here who can take this into account...

A few years ago I was hiring for a non-coding role with a company that pops up here on HN periodically. The interview was entirely leetcode. I completely blew it because I was so flummoxed that this was how they were interviewing for the role. I tried asking some non-code related questions about the role and company and was shut down from even being able to ask - it was clear their expectation was that the interview process was a one-way street.

It wasn't the straw that broke the camel's back, but it was a chain of things that led me to finally conclude it was time to move on in my career. That is, jumping through these kinds of interviews might have been something I'd do at 20-something, but at 40-something I've got other options and am not willing to put up with it. The hiring process in the software industry is completely broken in how it assesses talent.


YES! If it seems shocking that so many experienced developers can't even do fizzbuzz, that's because it's BS; interviews just suck.


My crowning glory for the interview-stupids was relatively early in my career going in for a PHP interview, which was the language I was by far the most familiar with at the time and had written many thousands of lines in, and not being able to come up with the "->" syntax for method invocation & property access when I was up at the whiteboard. I used a dot-style instead, and realized only after I left that I'd totally fucked it up (writing some OO code on the whiteboard was just about the first thing they asked me to do, and the interview was really short after that...) I'm pretty sure I also mis-named some built in functions. I'm bad at retaining language-specific details and have since started reviewing a relevant language syntax minutes before an interview, which won't stick by the next day but usually does for a couple hours so I don't do anything too embarrassing. Not being able to put together two non-syntax-erroring lines in a language I wrote a few hundred useful lines of the day before, without a reference, is otherwise the norm for me. This has mattered zero times—except in interviews.


Do you want me to write fizzbuzz in proper syntax in some language I have on my resume and 'can do' but don't actually do every day without the help of an IDE? Forget it.

Can I write pseudo code that doesn't compile, is an amalgamation of various languages and probably understandable by anyone that can code even though there's probably no language w/ that syntax out there but it get the idea across perfectly? Sure!

    foreach (number in numbersYouWantMeToFizzBuzz) {
        if(number MOD 15 eq 0) print fizzbuzz
        else if(number MOD 3 eq 0) print fizz
        else if(number MOD 5 eq 0) print buzz
        else print number
    }
Don't have the {}? Who cares, you might be a python guy. Don't have the indentation? Meh you pass but my next question will be about formatting and what you think about applying a standard code style (and fail PRs automatically if it doesn't etc). You used % because your language uses that for MOD? Sure.


If it makes you feel any better, I can never remember BASH syntax. I have a gist where I keep all the common junk like for loops and array manipulation. Never had that problem in other languages as I can generally remember after 3 or 4 repetitions but my brain just can't grasp BASH syntax.


BASH is the most unforgiving syntax on earth, I would never even try and memorize that stuff.


The correct way to write more than 5 lines of bash is to delete the file and write it in python. You will thank yourself when you have to modify it later.


BASH and Regular expression syntax are two things that mysteriously expire from my memory after two weeks. It’s almost comical.


For some reason, I just can't remember things for life.

Despite being fairly experienced and having a rather solid grasp of Python/Go/JS/etc I still have to look up basic things like file modes (with bash syntax being especially notorious for being forgettable to me).

What I'm good at, however, is keeping references in my head, i.e. I know precisely what to Google to get the exact answer that I want. This way I compensate for my bad memory.

And for the record, I'm in my 20s. Sometimes I worry if it's going to take a toll on my career in the long run but so far it hasn't been much of a problem (apart from being a source of insecurities).


Your post reminds me of a joke punchline which was something along the lines of "an engineer doesn't actually have to remember very much, they only need to know how to efficiently find the information when required"

It's true for people working in technology due to the rapid pace of progress. As soon as we learn something it's out of date!


> Basically for some random reason, the thought pops into your head just how disastrous it would be if you failed at this thing you're being asked to do. Then your consciousness inevitably becomes obsessed with this thought and it's all you can think about. You start panicking

This happens to me all the time! You’ve described it so succinctly. How do you cope?


Some perspective from the interviewer side: just tell us straight up that you're panicking. While I can't guarantee that an elitist smug interviewer is going to always respond appropriately, I at least would make an effort to try to help you calm down, be it by removing trivial blockers (e.g. fixing some syntax blooper for you) or trying to paraphrase whatever you're trying to say but not finding the words for, or asking leading questions in the hope of bringing you back on track. A little dirty secret among interviewers is that we're supposed to be accountable for managing the direction and quality of the interview (i.e. one that devolves into a awkward staring contest is a failure on the interviewer's part for not interjecting appropriately)

Ultimately, it is in the company's best interest for an interviewer to look past things like nervousness-induced panic attacks, and I've heard on numerous occasions that good interview sessions involve the interviewer and candidate working together rather than adversarially.


Slow breathing exercises and grounding (e.g., look at the things around you and name what they are) work well for me.

Once it gets past a certain threshold it gets harder, so being mindful that one is coming on and routing it before it gets into a positive feedback loop is very important. Leave the situation you're in, e.g. tell others that something has come up and you have to go.


This topic of “is leetcode necessary?” and the more general topic of software engineering hiring practices appear regularly on this forum, but this time is the first time I am seeing someone mention panic disorders/panic attacks as part of the interview process. Other people might have mentioned it before here, but I do try to peruse the threads that relate to interviewing.

I am really grateful that you brought up this point as well sharing as your own experience 'ryandvm. My own experience when I fail to think of an answer to a leetcode question is extremely similar if not identical. I would add that my own experience is always a silent panic similar to how I experience going on a rollercoaster. Many people will scream out loud when they are going down a rollercoaster; I just clench the safety/restraining bar really, really tight and look onward while clenching my teeth. I am surprised that it took this long in my career to hear similar feelings expressed by someone else, but I am grateful that it did.

Thanks again 'ryandvm! I really appreciate it.


If you as a hiring manager have the choice to pick between two candidates, one of whom stays cool and productive under pressure, and the other who goes blank in emergencies, which would you prefer to have on your team? Stressful situations can occur in software engineering, including for example a moment where you realize production services are broken because of code you just deployed.


Interview pressure is nothing like an emergency. I'm cool as a cucumber in an emergency. Hell, I kind of love them. Interviews are another thing entirely.

[EDIT] What I'd liken an interview to isn't an emergency, but a date, a visit to the bank for a mortgage application when you're very much not sure whether you'll get it, participating in a talent show, and shopping for a car, all rolled in to one. That's closer to what it is, than an emergency. That also makes it very unlike nearly all activity anyone engages in at work, emergency or routine, social or solo, except for certain high-pressure sales or top executive jobs, maybe.


I’m normally cool under pressure and able to solve technical problems quickly. But in a situation where what matters isn’t actually solving the problem but evaluating my performance and my brain goes into overdrive with perfectionism/meta thinking about what they are thinking about me to the point where I sometimes can’t even do basic math.


Exactly, I have been in such high pressure situations several times with directors and CIOs breathing down my neck, but surprisingly I am quite composed in such scenarios. Severity of the problem at hand is in fact liberating as it is easier to focus. But that is not the case with interviews, when there is a strong "me" factor in the thought process.


> a date, a visit to the bank for a mortgage application when you're very much not sure whether you'll get it, participating in a talent show, and shopping for a car, all rolled in to one

Great quote. Those feeling pretty much summarize to perfection the current fad of interviewing pressure.


Okay Password Swordfish. :P

As for those who code without guns to our heads, I'd take the candidate who ships well-tested code over the candidate who ships emergency code. Prefer few large fires over frequent small ones and just roll back.


If I were that hiring manager I would have the wisdom to know that this provides no signal whatsoever of how successful those people would be on my team.

Edit to add: The kinds of pressure experienced on the job are not at all the same as those experiences during an interview. "Doing well under pressure" is not a generic skill. Someone who freezes up during an interview may be the coolest head in the company while restoring a database backup during an outage, and vice versa.


> If you as a hiring manager have the choice to pick between two candidates, one of whom stays cool and productive under pressure, and the other who goes blank in emergencies, which would you prefer to have on your team?

It's completely different, not even remotely comparable.

The pressure during a real-world outage is not a big deal. It's collaborative, we're all trying to solve this. And the work that needs to be done is actual real work. I'm extremely good at that, so I basically feel no pressure at all no matter how high the stakes are.

Interview pressure though? Whole different monster. It's confrontational and I'm expected to basically do improv acting on topics that have nothing to do with the actual job while someone nitpicks and eyerolls every irrelevant nonsense.


Your comment is not factually incorrect, but it takes a lot of logical leaps. Let's say: if all other things were equal, would you want to hire a candidate who has worked with just 1 programming language throughout her career or someone with experience on 5 different programming languages?

It's probably correct to answer "the person with 5", but does it automatically prove that "# of languages under the belt" is a great metric for evaluating engineering prospects?

We can come up with all kinds of justification for the current state of engineering interviews, but most everyone conducting the intervews know that our methods are extremely primitive and are thirsty for a better path forward.


I think I'd want the smarter candidate regardless in a job like software development that is overwhelmingly based on quiet focus time. It's easier to help them work through the rare emergency, than to help a less-skilled employee work through literally everything else.

But just blanking when suddenly put on the spot happens to everyone. Human memory retrieval is a complicated process, nothing like a computer. You can have vast expertise in there but not be able to retrieve it instantly, unless of course you've practiced interviewing that very subject a lot recently.


In the production issues I've been involved with, I was not forbidden use of Google, API docs, consultation with others, etc., and I did not have to work out anything on a whiteboard.


> In my opinion, it is borderline disability discrimination.

This rings pretty true to me, thank you for sharing your experience.


> Basically for some random reason, the thought pops into your head just how disastrous it would be if you failed at this thing you're being asked to do.

Like a driving test and the training with parents/adults beforehand.

Even with some judgmental/skittish passengers its the same.




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

Search: