Live data from Hacker News

Why we don't hire programmers based on puzzles and tricks

37signals.com

341–350 of 460 posts

Re: Why we don't hire programmers based on puzzles and tricks

#341

Earlier quoted context omitted.

One thing you're testing for is how well their brain works with an excess of adrenaline floating around in their body. All of the best interviewers I've known take great pains to make the interviewer feel comfortable and chatty - after all, they aren't going to be filled with interview anxiety when they're actually working there. A minority of your applicants are going to perform badly in that situation because the a…

"A minority of your applicants are going to perform badly in that situation because the adrenal glands will effectively reduce the output prefrontal cortex below an acceptable level" I have an off topic question. I don't see what the problem being discussed has to do with how glands reduce activity in certain parts of the brain. Sounds to me like a fancy way of saying 'people don't perform well under stress'. You cou…

Sorry that you feel I was obtuse - it's a quirk and my editor side doesn't always step up.

Poor communication aside, I was attempting to make a finer point than you read to it.

Stress is an extremely broad term medically, and used broader still colloquially. Medically defined stress may include anxiety, but frequently will not.

Anxiety, or technically in this case "performance anxiety" is a much more narrowly defined state with significantly more understanding about causes it, what it causes, and effective treatments.

It's know pretty commonly as "stage fright" - that's what you eliciting in some individuals when you put them in front of people they just met to prove that they are smart. I think we'd all agree that most programmer jobs shouldn't be withheld from someone who has trouble with public speaking.

I chose to use neuro chemical terms not to attempt to confuse anyone - but to make the point that this is a biological process triggered by hormones and not anything related to raw intelligence or a weak personality.

As an aside, it's extremely likely that they wouldn't have any trouble at all at the interview if they took a 80mg of propranolol hydrochloride (a beta blocker) an hour before the interview. It's probably used by 50% or more of public speakers and musicians playing big rooms. Unfortunately it's expensive, on patent and that's an off label use.

If you're not looking for someone to do regular public speaking then detecting what you consider "stress" probably has little bearing on their job applicability.

Re: Why we don't hire programmers based on puzzles and tricks

#342
post #241

Earlier quoted context omitted.

By this logic the candidate should pay half of travel and hotel too.

Usually the candidate pays all of it.

This is highly unusual (if not unheard of).

A company would have to be pretty damn unique in order to justify having candidates pay for their own travel + lodging.

Re: Why we don't hire programmers based on puzzles and tricks

#344

Earlier quoted context omitted.

One thing you're testing for is how well their brain works with an excess of adrenaline floating around in their body. All of the best interviewers I've known take great pains to make the interviewer feel comfortable and chatty - after all, they aren't going to be filled with interview anxiety when they're actually working there. A minority of your applicants are going to perform badly in that situation because the a…

"A minority of your applicants are going to perform badly in that situation because the adrenal glands will effectively reduce the output prefrontal cortex below an acceptable level" I have an off topic question. I don't see what the problem being discussed has to do with how glands reduce activity in certain parts of the brain. Sounds to me like a fancy way of saying 'people don't perform well under stress'. You cou…

I've played musical instruments and sung in front of hundreds of people, it's stressful but I'm confident I could code under the same circumstances.

I have panic attacks if I feel too enclosed, particularly big crowds in small spaces. I would definitely fail to code FizzBuzz if I was having a panic attack! But if I needed to, I could disguise it pretty well. You might not notice that I was having a panic attack.

Stress isn't linear, so you can't really extrapolate from it that well.

Also, I would question whether absolutely everybody on your team needs to be exposed to lots of stress. Sure, some people have to care about live systems crashing (as one example of a majorly stressful event), but not everybody, surely?

Personally, interviews don't stress me out and I can do whiteboard coding tests no problem. A big component of that is because I went to the right schools and they rigorously trained me on that from a young age. I don't think it's fair that it's easier for me to get a job than someone whose grandmother was less well off (she paid for my schooling).

Re: Why we don't hire programmers based on puzzles and tricks

#345
post #336

Earlier quoted context omitted.

If your point is that these sorts of tests don't have any statistical power, I would whole-heartedly agree. Certainly you have to be careful with the types of conclusions one draws from the results of such tests. But they are not useless. The probability that a candidate will work out after having solved the problem with the best and most efficient solution is certainly much higher than if she only gave a middle-of-t…

I didn't say they're not a positive filter; just that they're a black and white positive filter. Usually, hiring isn't about "passing or failing" candidates; it's about ranking candidates relative to one-another, and hiring the "best" ones (under whatever utility-function you think will help your business succeed.) And putting people into "really impressed me in solving a puzzle" and "did not really impress me in sol…

I appreciate your comment. I didn't realize you were actually advocating giving a bunch of small programming questions in place of one or two involved programming questions. I totally agree that this is a far superior way to test programming ability. Actually developing such questions would be rather hard I think, it seems it would be very easy to degenerate to trivia. Perhaps a set of questions similiar to that Quixey one minute programming challenge that was posted here a while ago (http://challenge.quixey.com/)?

I actually have a very ambitious idea to completely disrupt tech hiring. You have echoed much of my rationale. I don't want to go into detail, but the premise is basically to remove ego from the hiring process and make it far more statistically sound. Of course, this is also the very reason would very likely fail. Everyone loves to employ their pet "interviewing hack" to find world-class developers (who happen to be a mirror image of themselves). Most people will not give that up lightly.

Re: Why we don't hire programmers based on puzzles and tricks

#346

Earlier quoted context omitted.

"A minority of your applicants are going to perform badly in that situation because the adrenal glands will effectively reduce the output prefrontal cortex below an acceptable level" I have an off topic question. I don't see what the problem being discussed has to do with how glands reduce activity in certain parts of the brain. Sounds to me like a fancy way of saying 'people don't perform well under stress'. You cou…

Sorry that you feel I was obtuse - it's a quirk and my editor side doesn't always step up. Poor communication aside, I was attempting to make a finer point than you read to it. Stress is an extremely broad term medically, and used broader still colloquially. Medically defined stress may include anxiety, but frequently will not. Anxiety, or technically in this case "performance anxiety" is a much more narrowly defined…

> Unfortunately it's expensive, on patent and that's an off label use.

In the UK you can still get it prescribed for anxiety, and get it free on the NHS, so if you're wondering about betas it's worth checking what the situation is wherever you live.

I would strongly recommend that you do seek out medical advice regarding them, there are several very important caveats and contraindications.

Re: Why we don't hire programmers based on puzzles and tricks

#347
post #263

Earlier quoted context omitted.

I think the point of the article is this: Trivial puzzlers like:write a fizzbuzz program, swap two variable contents without using a temp variable, how do you count the stars in the universe Just encourage people to game the system. It's impossible to get real insight from them, because you can't differentiate between those who worked it out, and those who have read about it. If you're in an interview by now and some…

Come to think of it, swapping two variables in place is a horrible question - because you can't really do it! A statement like a = a + b requires the (invisible) presence of a register where a + b (or xor or whatever) is placed right before being written back to a. But then you might as well use this register directly for the swap instead of dabbling around with one-to-one functions.

Just to add a perl version for the ruby and python ones.

($a, $b) = ($b, $a)

Re: Why we don't hire programmers based on puzzles and tricks

#348

Earlier quoted context omitted.

As much as people say "well, everyone knows about Fizzbuzz by now," lots of people still can't do it. "Swapping two variables without a temp" is a bad question, because it depends on knowing the trick. "Find the 2nd-highest element of this list" is a basic question, and I can change it up it a zillion ways such that anyone trying to just learn all possible permutations will end up doing way more work than someone who…

I think the swapping two variables has a bit more going for it if they do not know the trick. Explain the concept of invertible functions. Hopefully they would be able to come up with plus and minus - even if you have to walk them through the a=f(a,b) b=g(a,b) a=g(a,b) From there you can say that works fine with pen and paper but why might it go wrong in a program? So how do you avoid integer overflow? If the signs a…

XOR trick? I'm not sure I'd want to work for someone who didn't know about the x86 xchg opcode.

Re: Why we don't hire programmers based on puzzles and tricks

#349

Earlier quoted context omitted.

I will tell you, back when I bartended in New York (10 years ago), it was pretty common to spend a day or two being "tested" as you made drinks for customers, until they decided you were worth hiring. You wouldn't even keep tips, since they'd test you out just on drinks made for tables, or whatnot.

Yes, but during a trial period don't you get paid?

You still get tips, which generally outweigh your hourly rate anyway.

Re: Why we don't hire programmers based on puzzles and tricks

#350

I consider myself a proficient developer, however, in situations where I'm required to solve an obscure puzzle while someone is staring at me, generally makes me uncomfortable...no matter how easy the question. I interviewed for an internship position at Microsoft, where I was required to write some bizarre code on graph paper while the interviewer literally stood over my shoulder. Horribly uncomfortable, I barely ma…

Assuming (for arguments sake) out of everyone who applied you where the most ideal.

In that case since you were not hired, either you or the people responsible for hiring made one or several mistakes. Most likely it was multiple mistakes on both sides.

None of those mistakes were "ask a potential hire to do a simple demonstration of ability". Instead it was mistakes (on your part) like getting nervous and choking (something everyone does)...and mistakes on their part like not making the candidate feel relaxed, not providing enough guidance, and placing too much importance on one aspect of the interview...etc

Post reply on HN