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?"
I dunno...but it will weed out the pretenders/bullshitters.
No sig today...
They are extremely valuable - they let you know which potential employers don't have a clue about programmer productivity / expertise.
Bogtha Bogtha Bogtha
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!
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.
A lot of companies use coding tests as part of the interview process and pretty much there will be some time limit, whether stated or not. They are not going to let you sit there for two days to answer 20 questions or complete a 10 line routine.
As to the value of rigid timing, then that is a bit dubious.Do you want fast and sloppy or slow and accurate? Does this tell you something about the organisation and whether or not you want to work there? I feel it really depends on how they treat the results WRT the timing.
Art is the mathematics of emotion
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.
The basic rule of programming interviews is that you should demand that they actually program. It doesn't necessarily have to be a difficult problem: I've handed somebody a standard Fizzbuzz in an interview, and the competent candidates will solve it in 2-5 minutes, while the incompetent candidates won't solve it in 15 minutes.
The reason this is necessary is that on paper, the incompetent candidates can look identical to the competent candidates.
I am officially gone from
You would be surprised at the (low) quality of some candidates whose resumes suggest they're qualified for a senior engineer position.
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".
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.