Slashdot Mirror


Ask Slashdot: Are Timed Coding Tests Valuable?

First time accepted submitter xkrebstarx writes "A buddy of mine recently applied to a large tech company. Before setting up a phone interview with him, the unnamed company issued a timed coding test to gauge his coding prowess. He was allotted 45 minutes to complete an undergraduate level coding assignment. I would like to ask the Slashdotters of the world if they find value in these speed-programming tests. Does coding quickly really indicate a better programmer? A better employee?"

12 of 776 comments (clear)

  1. I dunno... by Joce640k · · Score: 5, Insightful

    I dunno...but it will weed out the pretenders/bullshitters.

    --
    No sig today...
    1. Re:I dunno... by beelsebob · · Score: 5, Insightful

      The other thing it'll do is near guarantee that they get some bugs from all applicants, they'll then have something to discuss in the phone interview, and gage the applicant's responses and proposed fixes.

    2. Re:I dunno... by hackula · · Score: 5, Insightful

      I never believed the whole "95% of interviewees fail the FizzBuzz test" until I started interviewing candidates. People with 15 years of "experience" on their resume would regularly fail or give up. I also encouraged googling, including just searching for the exact problem, and I encouraged questions and told them that both behaviors were seen as a good thing. IDK how someone could possibly get through a CS program and still fail this test, but it happened regularly.

    3. Re:I dunno... by Anonymous Coward · · Score: 5, Insightful

      I don't understand why employers don't just ask to see some code the developer has already written. Some people (nerds) don't do well in social situations and it takes a few days to get into the swing of things.

      I really don't get the "write a merge sort" routine. When was the last time someone did this IRL? At least people can use google, etc. When I was outta college, we had to do this crap on a whiteboard with 5 guys staring at the back of your head with no references. Talk about nerve racking.

      I would think the best possible thing to do would be to ask the candidate to write something before the interview and give them a few days. That way they are in their comfortable environment and can do their best work, proofread, comment properly, debug properly, optimize properly, etc. That's what you're really after, not someone who can write buggy ass, un-commented, un-optimized code really fast.

    4. Re:I dunno... by Goaway · · Score: 5, Insightful

      On the one hand it seems kind of lazy.

      Programming is pretty much Applied Laziness, so that is probably a good thing too.

  2. Of course by Bogtha · · Score: 5, Insightful

    They are extremely valuable - they let you know which potential employers don't have a clue about programmer productivity / expertise.

    --
    Bogtha Bogtha Bogtha
  3. Useful for weeding out non-programmers by Ckwop · · Score: 5, Insightful

    We use Fizzbuzz and a short SQL test that take a total of 30 minutes for the first part of the test. If they fail this, we can them and don't give them an interview.

    A surprising number of people fail this test.

    We then have a larger problem with much more time allotted. Here we're looking for style and quality of construction.

    That said, even with this longer test, the people we hire tend to get the same distance through the test. They're at least within the same half of an order of magnitude.

    At the end of the day, in a paid position you can and do have a deadline to work to. You can't take forever building something. You have to produce the goods!

  4. Re:No undergraduate level stuff for me by beelsebob · · Score: 5, Insightful

    I personally discard any applicant that thinks like this, it means they can't actually think about algorithms, data structures, and how to design something well, and in doing so will produce sloppy assed code.

  5. Yes by Splab · · Score: 5, Insightful

    If the people performing the test are any good.

    First of all it will weed out the anti authority programmers. (There is a lot of people who will refuse to do this - the door is right there...)

    Next, it will test if you can handle stress - quality of the code (should be) is irrelevant in these kind of tests. But you learn a lot about how people act under stress.

    Personal experience, during an interview I was asked to implement a hash map on a whiteboard. What they where looking for was not an actual shiny working example (hands up, those who don't need to go look in a book to find a proper hashing function (or the interwebs)) - they wanted to see how I handled myself in a stressful situation.

  6. Re:No undergraduate level stuff for me by buddyglass · · Score: 5, Insightful

    You would be surprised at the (low) quality of some candidates whose resumes suggest they're qualified for a senior engineer position.

  7. Re:No undergraduate level stuff for me by beelsebob · · Score: 5, Insightful

    The thing is, you may not be hiring a worldwide known linux kernel expert. You may instead be thinking about hiring someone who's CV says he's done several impressive looking things. You need to verify what his level of involvement in those was, and a good first step is often "are you so retarded that you can't possibly be telling the truth on your CV".

  8. Re:No undergraduate level stuff for me by ShanghaiBill · · Score: 5, Insightful

    I personally discard any company that tests undergraduate-level stuff.

    This is one of the reasons for the test. It not only filters out the incompetent, but it also filters out the arrogant prima donnas, who will probably not be good at teamwork.