Earlier quoted context omitted.
Sure, but we're talking about testing ability vs. memory - switch is incidental.
Ability requires memory, at least for basic things. You can't be a good programmer and forget the syntax of the language you are working in. If you need to look up something as fundamental as switch statement in the internet, it's like a writer looking up words in the dictionary before writing them down in his novel.
Ask HN: coding challenges as part of interviews: yes or no?
21–30 of 58 posts
Re: Ask HN: coding challenges as part of interviews: yes or no?
#22Earlier quoted context omitted.
Hmm... I know > 10 languages. I'm not sure I could remember the exact syntax in several of those languages on the spot. Is it case, is it switch, etc. If you do this, your test is on rote memorization. Give them a novel problem and have them solve it with a real computer and in tact syntax lookup. Then see what and how they did it and go over their reasoning. I'll hire the guy with the wisdom over the guy who can spi…
If you don't know the basic features of a language you don't know that language anymore. You maybe once knew it really well, and you still know the general syntax, but you aren't a insert language programmer anymore. I do agree though that testing specific language skills is mostly pointless. The only time I've been given a programming test as part of an interview I was given a basic language spec that filled a coupl…
Re: Ask HN: coding challenges as part of interviews: yes or no?
#23Earlier quoted context omitted.
If you don't know the basic features of a language you don't know that language anymore. You maybe once knew it really well, and you still know the general syntax, but you aren't a insert language programmer anymore. I do agree though that testing specific language skills is mostly pointless. The only time I've been given a programming test as part of an interview I was given a basic language spec that filled a coupl…
I don't think that I would ever hire a insert language programmer. When looking for someone to program, I'm just looking for a programmer; language isn't important.
Re: Ask HN: coding challenges as part of interviews: yes or no?
#24Earlier quoted context omitted.
Agreed. My first job they gave me a copy of Deitel & Deitel's "C How to program" along with the test. You actually lost points if you didn't open it!
You know the syntax of switch in the language you have been using in the last three months. If you don't, something's wrong!
I could make up some mumbo-jumbo about case being a code smell and that it should actually be refactored to a method dispatch over polymorphic objects, but the truth is that I have no idea why I don't write case statements, I just don't.
Re: Ask HN: coding challenges as part of interviews: yes or no?
#25Earlier quoted context omitted.
Sure, but we're talking about testing ability vs. memory - switch is incidental.
Ability requires memory, at least for basic things. You can't be a good programmer and forget the syntax of the language you are working in. If you need to look up something as fundamental as switch statement in the internet, it's like a writer looking up words in the dictionary before writing them down in his novel.
Re: Ask HN: coding challenges as part of interviews: yes or no?
#26Re: Ask HN: coding challenges as part of interviews: yes or no?
#27For phone screens, I find Steve Yegge's guide a useful starting point: http://steve.yegge.googlepages.com/five-essential-phone-scre...
I'm not a fan of asking candidates to reverse a string or to implement atoi or a binary search, because those have corner cases which, under interview pressure, might be too much to ask for. I just ask for an implementation of a gcd (greatest common divisor) function, in any language. I always explain the problem in detail. Only one guy (a PhD in physics) ever gave me Euclid's algorithm (section 1.1 in Knuth's AOCP Volume 1), so I don't expect it. I do expect a trivial loop, and most candidates take 15-20 minutes to come up with it, and need lots of hints.
As far as I'm concerned, anyone who can't come up with a trivial loop (or recursive or tail recursive function) for something like this shouldn't be programming for a living. Maybe "developing enterprise solutions," but never programming.
Re: Ask HN: coding challenges as part of interviews: yes or no?
#28Successfully pasing a code challenge is not a good predictor of future success. However, failing to pass a code challenge is a very good predictor of future failure. Furthermore, making the test harder does not make it predict future success well.
Therefore, I belong to the "FizzBuzz" school: Make the test ridiculously simple. It should take no more than fifteen minutes to complete. If the person gets it obviously right, throw the result away and move on to more important quetsions. Do not try to deduce a lot of malarky about their programming style or ability from an obviously contrived problem.
For example, writing:
a = 5; b = 10
Does not mean they don't know Ruby well, and writing:
a, b = 5, 10
Does not mean they are a Ruby expert. And writing:
fsquare = lambda { |x| x * x }
Does not mean they are a closet Bipolar Lisp Programmer. If the program works, it's a pass, move on. If there is a syntax error or some such, who cares, move on.
But if they struggle... You need to investigate the reason for their difficulty with a simple problem.
Re: Ask HN: coding challenges as part of interviews: yes or no?
#29A trivial coding problem is essential. I've seen people with 10 years of experience in XML#Java.NETEnterprise2012 who don't understand conditionals, loops, or boolean expressions. For phone screens, I find Steve Yegge's guide a useful starting point: http://steve.yegge.googlepages.com/five-essential-phone-scre... I'm not a fan of asking candidates to reverse a string or to implement atoi or a binary search, because t…
Priceless, If you ever put this on a cafepress mug or tee shirt, you can count on selling me a dozen or so as office gifts. Thanks for the laugh.
Re: Ask HN: coding challenges as part of interviews: yes or no?
#30I always give a fairly simple problem, pencil and paper, a soda, and leave them alone for 15 to 30 minutes. Before I leave the room, I make sure they clearly understand what's expected.
What they do isn't important. Our discussion about what they did is. I don't care what syntax or mannerisms they use; I do care if they understand what was needed and what they did well enough to explain what they did and why they did it.
Almost every time some good follow-up questions and segues ensue. What about this? What about that? I've learned more about people in the discussion after the problem than from anything else.