Hacker News new | ask | show | jobs
by Traubenfuchs 2769 days ago
It is sad to see the huge divergence between skills required for coding interviews and the skills required to be a good software developer/engineer.
4 comments

Yes, ironically the better / more experienced I have become as a developer the worse i have become at algorithmic style questions. Why? Because I never use that stuff on the job. I make an effort to avoid complex code by proper database and application design. The only times i have ever needed to implement a sort algorithm are for interviews.

When I design system, I don't do it in an interview time frame. I read the problem, and then go and do other stuff. Part of the design will become clearer to me a couple of days later, when I am cooking dinner or cycling to work - that stuff goes on in the background in my head. It's not an area where I find sharp focus useful, more a case of going through the many options at a slower pace is more useful.

Apparently it's still the best indicator for hiring engineers on large scale. It's proven that there is a big correlation between performing good during an coding interview and performing good during your day-to-day job.

Ofc the coding interview is bad, but it's the best of all available (viable) options.

tbh: most people say it's bad because interviewers focus on the optimal solution or something like that. Most of the time that's incorrect as an interview is literally capturing: "Can the candidate solve a difficult problem and transfer his thoughts into code, while being a nice guy to work with"

disclaimer: I'm doing interviews for a faang company.

"It's proven that there is a big correlation between performing good during an coding interview and performing good during your day-to-day job"*

*citation needed

Unfortunately it's internal. All faang companies spend a lot of time and resources on hiring to make it more fair for everybody and to get signals faster. And nobody internally enjoys doing a lot of coding interviews - it's as frustrating for the interviewer as it is for the candidate.

If there would be an easier way then these companies would definitely use it. A candidate usually has 5-7 interviews (if he is not failing the phone screen), which is 5-7 engineers spending at least 1 hour for the interview + 1 hour for the feedback. I am having 2-5 interviews per week, which means I spend between 4 and 10 hours per week just on hiring. If we could reduce this number we would definitely do it, as it's costing a loooot of money.

To be fair: there is some innovation and traction in those areas, s.t. some candidate s do a coding project at home and then present their solution (to reduce the number of interviews).

Someone who didn't get the job should sue just because if these valuable they will have the data to prove it and then the rest of us can look it up in the court records.

My boss asked HR about this and they said if we want to ask coding questions we need to first give the coding interview and score the results - but not use that to decide to hire or not. Then after two years look at their performance and compare to how they did on the interview.

> And nobody internally enjoys doing a lot of coding interviews

That's true, I recently had an interview and the interviewer was on the phone all the time totally uninterested, barring the first 5 minutes. How do you account for that?

Everybody knows (and as stated in the article) the system can be gamed (by memorizing Leetcode solutions) and I choose not to. If you don't believe me have a look here:

https://www.1point3acres.com/bbs/thread-191077-1-1.html (translate it to English)

(there are a ton of interview experiences and detailed questions and strategies on this site)

There are people who are freaking memorizing behavioral questions!! Surely, the FAANG companies are aware of this?

This what I see happening these days: 1. You have an interview candidate solving questions without memorization

2. You have an interview candidate solving questions with memorization

How are you distinguishing between the two and how do you prevent bias? Bias in all forms, not just the stereotype: white guy hiring another white guy.

Just for context it seems the above user works at Google based on previous comments.

The idea that Google has internal research indicating this wouldn't be surprising to me.

> The idea that Google has internal research indicating this wouldn't be surprising to me.

The problem with internal research on these matters is the nearly total lack of negative examples. Depending on the quality of the pre-on-site screening the quality of candidates at that point might be so high that random selection might be just as good.

A negative example would be someone who scored good within the interview process, but then performs bad on the job (bad performance rating). Such examples get discussed internally by the hiring committee (senior people doing the last hiring decision for every candidate).

I think the biggest issue with the current approach among faang interviews is that a lot of really good people get filtered out (false negative) - but faang get so many applications that they are ok with this.

And yet, googles previous public comments on the topic are somewhat the reverse - all their interview question except for questions on previous work/experiences were not correlated with "success".

Scare quotes used because knowing how to define success is an even more hairy question that we (industry, humans) dont have a good grasp on either. So any criteria you use might be wrong or a subset of the right (where "wrong" means you would change your conclusion if you saw the bigger picture, which none of us can.)

success criteria is the rating the people get during their performance review which happens twice a year.
Either that or performance reviews have similar problems. 5-7 interviews seems insane to me. Is competition that high to justify that number?

As a candidate I would give you 3 at most. But that would require me to be in the near vicinity.

5-7 interviews? That is more than many people need to form a marriage...

I also saw people having 10 interviews, and then get rejected :,(

8-15 years ago fb/google had 20+ interviews - and reduced the number based on research that after 4 they can predict it really good.

They mention 4 in the article, but that actually means 4 on-site. Before that a candidate usually has to pass a simple recruiter phone screen and a simple coding phone screen.

https://rework.withgoogle.com/blog/google-rule-of-four/

> *citation needed Yes. Citations would be useful. To me, it seems to make sense intuitively. I'd say that at the very least it is a fair/objective way of ranking candidates. Particularly so if where the ratio of candidates to positions is high.
In order for there to be a big correlation wouldn't they have to have a ton of negative examples? So that would mean they're hiring a bunch of people who "fail" the interviews to see how their performance matches up to someone who passed the interview. I mean, they could do that. That is assuming they hid the results from whoever those failing candidates go to work for or I imagine there'd be a psychological self-fulfilling prophecy of sorts where people always see that person as a "interview-failer" and view all their results in a negative light. Can you speak to whether this is the case at all?

My gut feeling is that they wouldn't do this at all. If you fail, you fail. Not only that, it seems like a legally shit-situation to put yourself in to hire someone who you think is going to fail and then fire them.

My experience is that people who enjoy the “intellectually interesting” types of problems don’t have the stamina or discipline to get past the 80% mark and are easily distracted by the “ooh shiny”.

Disclaimer: doing interviews outside of FAANG and not on the west coast - where the majority of developers are working.

It's become ridiculous actually. I've been developing professionally for over a decade now and the past few times I've had interviews I've had to make sure I spend a few days preparing by brushing up on stuff I hardly use, but know will be asked in the interview.

I get that it's hard to determine someones skill level, and people aren't prepared to spend multiple hours on practical tests (especially when having multiple interviews), but there must be a better way to interview.

I don't get why they don't do something like give you a computer with a terminal, a buggy program, and an internet connection and tell you to make it compile (or whatever the equivalent is for your domain) using whatever resources you want. Even knowing what to search for or what an error means or how to locate the source is actually like 95% of what most companies are even looking for but they're too much of cargo cult kool aid drinkers to realize it.