from Hacker News

Ask HN: Hire based on coding tests?

by justonepost on 6/15/18, 8:47 PM with 11 comments

We're currently interviewing folks based on coding tests that we provide them with. My concern is that I've been finding that some candidates that seem less than stellar from talking to them actually perform better than other candidates who seem pretty bright but because they likely haven't been grinding on leet code or similar site (usually because they're working), aren't performing as well. That said, coding is the most critical task of our engineers. Should we accept people who code better at these 40 minute algorithmic riddles? The position is for junior to mid level engineer.
  • by kaosmonk on 6/15/18, 9:11 PM

    I'd suggest you rather talk with people you interview about underlying concepts and how would they approach and/or solve a real life use case/task/problem. Talk about their experience using this or that tool, IDE, alg, etc. Rather let them talk about their experience and then start going deeper with additional and specific questions about their experience in order to find out how well they understood the task they've been working on and how they researched and used certain toolset, why they've decided to go with certain approach, what were their thoughts about what they did once the task got completed, what would they change/improve etc. You may go as deep as needed with questions in order to see what areas does their knowledge spread across and to actually test how well they understand and know about certain topics that are of your interest.

    I don't mind coding tests and whiteboard sessions myself but am finding coding tests not to be that informative on someone's knowledge since the implementation doesn't count as much as someone's understanding of what needs to be done and how well someone is able to grasp all the shortcomings of going with one approach vs going with some other.

    At the end, it's always easy to google out the perfect solution to the problem (and/or quickly test several solutions in order to find the most convenient one for the given task) but if you don't understand underlying concepts and are not able to grasp what exactly you need to do no googling will help you with that.

  • by huebnerob on 6/15/18, 8:51 PM

    Unless your business is selling solutions to algorithmic riddles, your coding test probably shouldn't be testing for them. Try to make it a reasonable proxy for what the engineer will be doing day-to-day, and make sure it's a novel problem statement to which the candidate hasn't already been exposed.
  • by gauravk95 on 6/18/18, 7:58 AM

    A 40-minute algorithmic riddle, may give you a gist of what the candidate is capable. But, you never know for sure, if he/she will perform well in actual work environment.

    You have to understand what your technical challenges are and what you are hiring for..? Do you need a generalist or specialist? Does you product require a lot of new algorithm?

    I have seen candidates that are extremely good at algorithmic puzzle, but lack the overall approach to build stuff, candidates that have a lot of projects and not so good at algorithmic riddle excel. Also seen the pretenders that show they have done a lot of projects and domain expertise, but when you dig in, you come to know that those project where either trival or they where just lucky to be a part of a team good team.

    You will have to be very careful on getting candidates that actually are interested in building things and not just for the sake of interview and a job the prepare for the algorithmic riddle...but you never know for sure, until he/she start working on the project.

  • by itronitron on 6/16/18, 4:32 AM

    You may want to consider that the candidates doing well on the coding tests may have less experience interviewing for a variety of reasons. It really depends on the role and the needs of your organization to decide whether the qualities of the candidates that seem bright are more needed than the qualities of the candidates excelling at the coding tests. A consulting role would likely place a higher weight on the 'seems bright' score.
  • by remyp on 6/15/18, 8:54 PM

    Code tests are a perfectly reasonable way to assess talent as long as they meet two conditions:

    1. They don't take more than an hour or two

    2. They closely resemble the work that the candidate will be doing on a day-to-day basis.

    Leetcode style exercises have zero value to me as a hiring manager. I'm much more interested in whether people can gather requirements, think critically about them, ask questions, and provide a functioning solution that fulfills them.

  • by mchannon on 6/16/18, 9:17 AM

    You're asking the wrong question. Instead of "should we do the opposite of what the coding test tells us?" you should ask "should we require coding tests at all?"

    Some candidates can't code, but most companies throw the baby out with the bathwater. They don't realize the candidates they want simply refuse to interview because the process is insulting, and there's little correlation between demonstrated talent and an offer (a hard-to-accept fact that you've helped validate with your post).

    The candidates they're left with are the desperate and the only hires are clones of the interviewer.

  • by bjourne on 6/16/18, 8:12 AM

    Dude, it is pretty shitty to have your candidates go through a 40 minute coding test and then not hire those with the best results! If you aren't acting on the test then you're essentially giving these candidates false hopes and are wasting their time by having them do this test. How would you feel about it if you were in their shoes?
  • by mrfusion on 6/16/18, 1:40 PM

    Why not find a small real world coding test from your actual day to day work? I’ve found testing with riddles finds people who are good a riddles. You find what you look for.
  • by mrfusion on 6/16/18, 1:41 PM

    I’d just say fizzbuzz and a good conversation would be fine.