5 ms·
As for the time limit, it's relative. All things equal, if you can complete the problem in 10 minutes and the company can hire somebody that can complete it in
by hnfong 4y ago
As for the time limit, it's relative. All things equal, if you can complete the problem in 10 minutes and the company can hire somebody that can complete it in 9, then objectively the other candidate is the stronger one.
As for nervousness for being forced to partaking in a stand-up performance, I'd argue that "social performance skills" can work against you, since the more "antisocial" you are, the more you can ignore (or are oblivious to) what other people think about you and you can focus on your task. It's only people who actually have the minimum requisite "social skills" that would be conscious of other people intensely watching them "perform".
But even if you're right -- interviewing is inherently a "social performance" activity. If you're not coding you're doing some other stand up performance to present yourself anyway.
- robin_reala 4y agoThey’re only objectively the strong candidate if that’s the sole thing the company values. It’s unusual for that to be the case.
- hnfong 4y agoWith the "all things equal" qualifier, it's sufficient that completing the task faster is a positive signal rather than a negative one. I mean, this is very elementary.
- Retric 4y agoNormal interviews are mostly a scripted performance where people largely regurgitate answers to predictable questions. So the issue isn’t that it’s a stand up performance it’s that you need to split your attention between the performance and solving some trivial problem. Becoming really good at programming requires being able to focus on an actually difficult problem not work through a simplified example while entertaining an audience. There might be a correlation between solving trivial problems quickly and being able to figure out a heisenbug from some multithreaded monstrosity, but it’s not strong enough for minor differences in performance to be meaningful.
- hnfong 4y ago> Normal interviews are mostly a scripted performance where people largely regurgitate answers to predictable questions. Ah, so you prefer being asked "where do you see yourself in 5 years?", and regurgitating the text generated by ChatGPT instead? Alternatively, as I replied in the sibling thread, do you prefer to be handed a difficult take home task that is expected to take 2 weeks to complete? I think I can live with the first, but I'd be insane to work 80 hours on a task just for a small chance to get a job.
- Retric 4y ago“Where do you see yourself in 5 years?” is asking a perfectly reasonable question about what if anything you’re working towards. If you think regurgitating something from ChatGPT is appropriate, I can see why you might prefer more limited interviews.
- Ancapistani 4y ago> Becoming really good at programming requires being able to focus on an actually difficult problem not work through a simplified example while entertaining an audience There are multiple ways to "become really good at programming". A company of any size needs people who can churn through well-defined problems quickly, and most live coding tests are relatively well-suited to selecting for that. They also need people who do other things well: * tackle large, ill-defined problems, alone or in a small team * identify, triage, and (if necessary) solve problems as they emerge * refactor existing implementations that have outgrown their initial architecture * identify trends and estimate when they will lead to scaling issues in the future * communicate complex problems to people without the necessary context * break down complex solutions into discrete, well-defined steps that can be tracked to completion They also need people who can accurately estimate how long all of the above will take... unfortunately, as we all know, such people do not exist. If you're hiring someone to churn through well-defined problems, live coding interviews are likely a good fit out of the box. If you're hiring someone to reinforce a weakness in your organization's ability to do any of the other things above, live coding exercises are at best a loose framework that we're all familiar with to try to get at whether or not they have those skills.
- kuhzaam 4y agoWhat are the "all things equal" here, though? I would tend to disagree that someone who can complete the coding challenge faster is the objectively better candidate. Especially if we are talking about leet coding, where there are people who study their asses off and memorize the common leet code problems. Or maybe the coding challenge isn't leet code, but just so happens to be something that the candidate has done before, or has done recently. Just because one candidate lucked out and has done this very specific thing, doesn't mean they are better than a candidate who could figure it out in half a day, if given a little more time to do so.
- hnfong 4y agoYou people are so bent on arguing the unarguable that the arguments are so unnecessarily argumentative. The interviewer and the hiring company does not have a God's eye view of the candidate and must work within the limitations of the hiring process. The best one can do (without resorting to metaphysical processes) is to make a decision that has the highest expected value (or highest chance of hiring a good candidate). The fact that there could be a candidate that lucked out because they were prepared for the specific set of questions you asked is not specific to live coding problems. You could have asked them anything and they could have lucked out and just happened to be prepared for the answer you were expecting. That said, I can tell you for certain that if given a task that the average candidate takes 10 minutes, and a candidate completes it in half a day, you're looking at a 0.1x developer right there. That's by definition.
- crooked-v 4y ago> then objectively the other candidate is the stronger one ...if the job is to complete abstract problems in live coding interviews, sure.
- hnfong 4y agoBy your logic, there's no point in doing any interviews at all, because it is nobody's job exactly to sit as a candidate in an interview session. Is that your point? Because I'm getting tired repeating the point about take home tasks in the sibling comments by now.
- tomjakubowski 4y agoa single example of a one minute difference in solving a problem that takes ~10 minutes is noise
- hnfong 4y agoYes, so given that all things are equal, are you going to hire the slower person then? Or are you going to, as I mentioned in sibling comments, give them a take home task that takes two weeks to complete, just to be sure?
- oceanplexian 4y ago> All things equal, if you can complete the problem in 10 minutes and the company can hire somebody that can complete it in 9, then objectively the other candidate is the stronger one. They are stronger in the specific problem space you’re testing for. If your business has a lot of novel coding problems that need to be solved in under 9 minutes, then sure, this is a great measurement. On the other hand, if your business has a lot of hard problems that take days, weeks, or quarters to solve, measuring someone’s ability to solve a 9 minute problem is a terrible metric. If anything it’s a counter signal, since it tends to select for candidates that optimize short term thinking over long term planning and problem solving.
- hnfong 4y ago> if your business has a lot of hard problems that take days, weeks, or quarters to solve I suppose your ideal interview as an interviewer would be to give the candidate a take home task and ask them to spend 2 weeks to work on it? > If anything it’s a counter signal Or perhaps give the candidate a task that normally takes 30 minutes, and hire the candidate if they take 60 mins to finish it? I mean, you do you, but I hope you (and everyone else) can see why I'm not convinced otherwise.
- spacemanspiff01 4y agoIf they pay me at contract rates double my current salary, and in my particular case my current IP assignment clause/the problem/ law makes it ok. Sure, pay me money to do something like what you guys need done. Probably most useful if it's a contribution to open source.
- frumper 4y agoNo, the ideal interview is to ask them questions about what type of problems they've solved before and ask them to walk through what they did. Also, have a conversation with the person to get to know a little bit about what they're looking for in a job/company. It's an interview, not a tryout. Metrics like a 10 minute task, or a 30 minute task is all relative. Do they know they language, the IDE, the operating system, the documentation, any experience in whatever abstract problem topic you choose, and personal comfort levels will all come into play. If you want to filter someone to do a very specific thing then post to hire a contractor with the specifics of what you need. If you want a developer that can grow within your organization then pop quizzes area good way to dismiss good candidates.