
Riddles have no place in job interviews - techdog
http://asserttrue.blogspot.com/2013/01/riddles-have-no-place-in-job-interviews.html
======
raganwald
The objective arguments are sound, in my opinion. I don't care for the
flippant insults like "assholery," but I'm a big boy, I can filter these out.

One thing to remember about interviewers that ask poor questions is that many
such people aren't full-time professional interviewers. They are to
interviewing as a marketing manager who does some Excel scripting is to
programming. They are often repeating what they've heard or read or been
subjected to, much as an inexperienced programmer tends to use whatever
programming pattern was espoused in the last blog post he read.

A terrible interviewer may still be a wonderful person to work alongside, just
as someone who performs poorly under the pressure of an interview may be a
fantastic programmer once hired and working on an actual project.

~~~
jiggy2011
This. Also bear in mind that it is widely publicised that google and MS etc
use these sorts of puzzles in their hiring process (whether or not this is
true I have no idea).

So there's a certain element of "if it's good enough for.."

~~~
varelse
Not anymore (previous googler)...

My google interview was the best part of the whole time there to be honest. If
the work had lived up to the people and problems presented in the interview, I
would still be there, happy as a clam.

Instead, it was a complete forced bait and switch onto a team doing something
irrelevant to my skill set, which is my way of saying there are plenty of
problems with Google, but this is not one of them.

~~~
notmyhnname
I've heard this a couple times now, and it worries me. I've got an on-site
interview with Google soon, and my impression from the recruiter is that I
would know which team I was joining at the offer stage.

Can you go into some detail on what happened between your offer and joining
Google that resulted in you feeling like it was a "bait and switch"?

If it matters, I am not interviewing as a college hire, but as a senior
engineer from another large tech company.

~~~
ChuckMcM
[I apologize in advance, I think I got a bit snarky there at the end]

Historically Google doesn't allocate jobs and then hire to them, rather they
hire and then from the accepts various managers 'bid' on those candidates to
fill their needs. Clearly I am a bit biased as I joined Google as a 'senior'
guy, and went through this stuff, spent four years there, and now I don't work
there any more. Its not for the faint of heart.

The reasoning for this is that smart people can do "any" job[1] and the when
people join Google its so "different" than any other culture that your first
assignment really won't matter anyway. The theory is you accept, they throw
you into some random job, you get evaluated (used to be this was when your job
level was also determined) and then you are expected to know what you want to
work on, move there and work on it.

This system is especially hard on senior folks, it works ok on new college
grads. As a senior engineer you can be assigned to write shell scripts that
take the output of one program and make it input to another, or clean up
performance issues in a code written by someone who had no idea how to write
performant code. You are almost assured of landing on a project where the
original developers of it have collected some 'cred' for "shipping" it after
getting it 90% done and have moved on to something else. It will be the
biggest waste of your time that you could imagine.

The good news is that if you survive that gauntlet then your _next_ assignment
will be to get yourself out of the cesspool you landed in and into a project
that you care about. The bad news if you don't create as much code as the
young guy who is in the cesspool next to you but does his laundry at the
'plex' and eats three meals a day there, then your not going to do well on
your evaluation. A good defensive strategy there is to do several side
projects with folks at Google to build up a 'yeah he's a good guy' kind of
relationship with folks on the committees. That way when the question of how
many kLoc you produced comes up relative to your live-at-work cube mate your
friends on the committee can counter the negative remarks with 'but hey, he's
a really great guy.' which will help.

Now that you're successfully "in" learn to fail fast, go through a bunch of
projects looking for one that will show up on the radar of some influential
(low employee #) folks, there is a great tool called 'percent' that tells you
how many folks joined after someone, you want to cultivate the 99.9
percenters. They will always be on the various committees that will be
evaluating you at some point and you want them to both know who you are, and
have a positive impression. Shine their shoes as they say. If you're an
academic many of the tools you used to get your grant money, grad students, or
onto the front of the author list on papers will serve you well here.

Once you've reached a level of credibility that your "calibration" score is
pretty much not going to get knocked down because some early employee is
pissed off at you, start thinking about what sort of problems you would like
to work on. Go look for them and get yourself on the project, do the fun stuff
(the wild designs, the crazy idea papers, the mocks, the prototypes) get it to
the point where it works enough that it is clear it will actually work if
someone finishes the code, "ship it" and take the credit, relish in your big
bonus that year knowing that some new hires will be dummped into that project,
now that you've moved on. to make it work. Not your problem any more, you're
on to bigger an better things, your a Googler!

[1] I think of this as the 'fallacy of fungibility' where any employee can be
moved to any job, when in fact depending on fit they may do well or poorly
unrelated to their skill set.

~~~
varelse
And this is just it, I was indeed senior level. I do not have the patience to
play a cultural game internally just to get to a project that makes use of my
skills. My bad.

If that makes me a bad cultural fit, G O O D! If a company isn't smart enough
to pair me with a problem I am adept at solving, then plenty of other
companies are, and that's why I left after only 4 months. Got a raise too.

Google's hiring process is toxic[1]. It's probably costing them big bucks that
they can't quantify properly as a line item in their budget so they probably
won't consider changing. All I know is that whenever I recount my days at
google on HN, lots of people upvote my story, a lot. I suspect others have
similar tales to tell.

[1] Not that other companies don't have their own personal poisons, but yeesh,
why not try something new once in a while?

~~~
ChuckMcM
I had an interesting conversation with Alan Eustace (who was in charge of
engineering at the time) about this. We had just hired, abused, and lost a guy
who had been the CTO of his previous company, got hired in and forced to clean
up message catalogs in i18n code, and quit after the slotting committee
decided he was really 'junior engineer' level and should be put on a
performance improvement plan so that he could learn to "step it up."

I don't know how common his situation was, I was fairly outspoken (no
surprise) and he had reached out to me early on when he was trying to figure
things out. The PIP (which is basically a pre-cursor to being fired) basically
put him over the edge, and he quit. The sad thing was of course this guy was
really smart, had excellent design sense, and knew more about the way Java
worked than I did and I was one of the original developers of Java at Sun! A
real top notch kind of guy.

He had been caught in the 'perfect storm' of which there were many, of a
manager whose project was strategic to the company and understaffed, a
skillset that waaay out ranked his assignment, so even doing perfect work it
wouldn't begin to show his capabilities, and a 'peer review' system that
primarily tested social engineering skills rather than technical skills.
Everybody lost. He lost his job, Google lost a great engineer, the system lost
an opportunity to improve.

The essence of the discussion with Alan boiled down to "Its a complex system
and its going to have some failures, but by and large it works well so unless
you can come up with something better we're stuck with it."

So in some ways the interview process is a good test to see if you might be
the kind of person that would do well at Google.

~~~
varelse
Well, given that I _aced_ the interview (plenty of evidence besides the job
offer I got within 24 hours of it and some of it I probably shouldn't know but
I do), I should have been a _wonderful_ fit then, no?

Tell ya what, how about trying one of those infallible(tm) A/B tests where
half the incoming people get the Hogwarts hat and the other half get to meet
their team upfront before accepting a job? Do this for a year. Now one year
after that measure which set of employees is happier/present/more successful.

~~~
ChuckMcM
I did say "might" :-) if it were a perfect predictor neither you nor I would
have been hired.

I like your suggestion, you should put it on the Alumni list.

------
Macsenour
Having spent the last year interviewing for jobs. It has become clear to me
that companies have no idea that they're being interviewed as they are
interviewing me.

Can't find a time to call me when I've given you 5 dates and times? Red flag.

Can't get my resume into the hands of the folks who are interviewing me? Red
Flag.

Tell me it will be a week and it takes two? Red Flag.

Call me 30 minutes after the scheduled time and not apologize. Red Flag.

Tell me I'm a perfect fit for the job, then the HR person calls me 5 minutes
later to say that they will not be moving forward with the interview process.
Red Flag.

Set up a time to Skype call me, cancel hours before the call, send an email 2
days later saying the job was filled before my interview. Black listed

Tell me on the phone interview that I will be called in for the face to face,
send me an email 2 weeks later saying the job was filled. Black listed

Delay the hiring process because you want to hire another position first. Red
Flag.

I could go on, and all of this has happened in the last year.

~~~
kscaldef
Are your "black lists" based on poor communication, or making an offer to
another candidate while they haven't interviewed you yet?

~~~
pekk
If an interviewee said they'd do something, and then didn't do it, it would be
regarded as an integrity problem.

~~~
kscaldef
So, you'd regard a candidate as lacking integrity if you scheduled an
interview with them, but they then cancelled because they'd accepted another
offer first?

~~~
Macsenour
Yes I would and this happened when I was on the other side. The candidate
reached out after 2 weeks and asked if the job was still open and that he had
made a mistake. The job was filled.

~~~
kscaldef
So, knowing that he was going to take another job, you'd rather he still came
to your interview and used up hours of your employees' time? To me, that's the
action that would lack integrity.

Your example of the guy who made a mistake is certainly a bummer for him, but
presumably he didn't know he was making a mistake when he turned you down. And
that's got to be a very small fraction of hiring situations.

~~~
Macsenour
I think the integrity test came when he made up his mind and accepted an offer
before the interview. If I knew he had already accepted the other position
then it would be a waste of time.

The problem wasn't that he cancelled the interview, it was that he made up his
mind before a scheduled interview with me.

------
ig1
I'm not sure the author understands the difference between a riddle and a
logic problem, a riddle typically uses misdirection and veiled meanings to
hide an answer while a logic problem is one that can be solve by applying
logical analysis.

So for example "What has two heads, four eyes, six legs and a tail?" is a
riddle because it's so open ended and relies upon linguistic trickery. On the
other hand most bridge crossing problems are logic problems, you typically
have a finite number of options and by deduction and logical analysis you can
arrive at the correct answer (i.e the answer is not a trick answer).

The advantage of logic problems as opposed to domain specific problems is that
they let you separate an individuals logical reasoning ability from their
experience. When you're hiring you want to make sure that the person you're
hiring can deal not only with more general problems of the type they've seen
before, but also that they can deal with esoteric problems that are very
specific to the nature of your product. And that's when the ability to reason
logically becomes much more important.

Obviously if the candidate you're interviewing is already familiar with the
logic problem you're presenting then you probably won't get much value from
the candidates answer and you need to ask alternative questions to ascertain
the same information.

~~~
jfoutz
Two lettuces each impaled with two needles, running a six stage race, being
chased by a private investigator.

------
run4yourlives
I think this should be taken with a grain of salt, and I say this specifically
for this crowd, who I've noticed more and more aren't the prospective founders
and outliers that it once contained but young, inexperienced new-grads or
almost-grads that are just getting into the business and think starups are a
good option.

My advice, to be blunt, is this: Know your role.

It's all well and good to rail against these (frankly) really dumb hiring
practices. A lot of us are in the position where we don't have to put up with
this crap. Of course a lot of us are in the position where we aren't
interviewing at all anymore. Simply saying "I did such and such in the past"
or even better "I worked with so and so" is good enough for many of us to land
nice cushy gigs. Such is the benefit of a reputation, and you will build one,
one way or another, in whatever niche you are in, over time.

However, young Padawan, this is not you. Not now. You - like it or not - are
simply a number on a job application. And discounting the few who are lucky
enough to have completed a project that means something in your short lives,
or to have the fortunate grace to share acquaintance (and high opinion) with
someone the hiring person knows and respects, you are NOT "interviewing the
company".

You are a nothing. And just like all the other nothings that come through the
door, if you want to get noticed you need to find a way to stand out from the
crowd. You will likely not always be a nothing, but right now, you are. And
so, your lot in life is to jump through hoops and toe the line until you can
start to stand on your own two feet.

Please don't take the approach that the interview is an equal transaction
unless it actually is. I've 'not hired' far too many of you, to be honest.
You'll know when the transaction is equal, and if you are asking the question,
it isn't. That isn't to say you should take any offer that comes to you; just
that you are in no position to be picky. And if you are bitching about
interview questions, this is the position you are in.

~~~
JasonFruit
By the time I was done interviewing someone, they weren't a nothing to me any
more — I had an idea of who they were. The whole point of an interview is to
cease being a nothing and gain the respect and interest of the interviewers;
if you're interviewing people as though they're nothings, you may notice that
a lot of your best candidates turn you down. Finally, _everyone_ is
interviewing the company; if the interviewee isn't willing to turn down an
offer, someone will take advantage of them.

~~~
run4yourlives
Of course a person isn't a nothing. The issue is that many recent grads
(especially those that are smart/have done well) somehow seem to forget that
as far as the work world goes, they are back at the bottom of the pile.

I'm simply pointing out that many of them - particularly in this generation -
don't seem to have any idea of their overall place in the grand scheme of
things.

There are close to 50 years of "top of the class" grads floating around out
there. That's the competition.

 _if the interviewee isn't willing to turn down an offer, someone will take
advantage of them._

While I don't disagree, the fact of the matter is that a new grad rarely, if
ever, has this luxury. It's true that it may very well be in their best
interests to not take a job despite not having an income. I've seen far to
many though that never get the right start because there idea of "being taken
advantage of" is so far out of whack with reality that they don't take _any_
viable position. Given 1-2 years of unemployment, they become less and less
valuable, and more and more desperate.

9/10, as a new grad, you should take an appropriate offer from the first
company that makes it. The experience you need is much more valuable to you
than the interview quiz, the dress code, or yes, even the pay.

------
fecak
I've noticed that more and more topics are being labeled as inappropriate in
interviews for developers. I have heard complaints about interviewers asking
candidates to complete short programming tasks, producing past code samples,
doing a whiteboard exercise, completing a pairing exercise, and objecting to a
wide variety of questions. I understand that highly experienced professionals
may get frustrated by some lines of questioning, but it's getting to the point
that programmers feel they should walk in with a resume and say 'Trust me, I'm
good', and immediately get a job offer.

Keep in mind some interviewers will ask questions that they don't expect you
to answer in order to learn something about you. Will you lie, admit not
knowing the answer, describe how you'd find an answer, get frustrated and rant
(as this author does with riddles), etc? It could reveal how you'd treat a
customer or a co-worker.

Candidates obviously have the power to walk out or not interview with places
that are going to be more rigorous (or transparent) in the process, but what
many candidates are classifying as 'unreasonable' for interviews these days is
becoming a bit too long a list.

I just published an article about this very topic
<http://news.ycombinator.com/item?id=5073791>

~~~
danielweber
Working with one bozo ought to be enough to convince anyone that you need an
anti-bozo filter, even if it eats up a few hours of time for your team.

~~~
pekk
The same should really apply to people interviewing for jobs. It's not too
hard to find companies with bozos, including bozo interviewers.

~~~
danielweber
Given that you are going to work for a company for months or years, and
interview with them for hours, you care much much more about the quality of
the coworkers than the quality of the interviewers.

~~~
pekk
Hopefully you interview with some people who might be involved in managing or
working with you, or you will not have any basis for this assessment.

------
apalmer
First off I am not really pro riddle per say, however we do use some 'riddles'
at my current employer.

1) Sometimes they can point out really big gaping holes in basic logic
ability, for instance we ask about basic logic with the NAND gate riddle, we
explain you can compose the common logical operations just using NAND. Ask the
interviewee to construct NOT using NAND, usually if they have never seen
anything like this, we walk em through it as a freebie... so now they have NOT
and NAND, and we ask them to construct AND. How many Architects we have
interviewed, with 10+ years of experience who could not logically figure out
how to combine NOT and NOTAND to get a logical AND...

2) Second, we mostly dont actually care too much about getting the correct
answers to the riddles. Its partially to look at the way person solves
problems, but mostly its psychological. In software dealing with non tech,
high level biz people, you get all kinds of bizarre requests. If you throw a
hissy fit in the middle of an interview, or storm out because someone asks you
a riddle... Are we to expect you to keep your head when the VP of Sales asks
you for something 'crazy'?

------
crusso
This article reminds me to ask a pointless mind-bending riddle to each
applicant just to weed out prima donna programmer types who can't handle a
little mental poking and prodding during the course of an interview designed
to see if he/she will be a good fit for spending a good part of his/her waking
day with me every day.

If you're too "good" to shift contexts beyond regurgitating your work
experiences or coding a for loop for a few minutes -- then I don't want to be
stuck in a room with you when there's a lot of pressure to meet a customer
commitment that could mean our livelihood.

~~~
hermannj314
I interviewed a candidate that had quite an alphabet soup and buzzword
compliant resume. He was pretty much convinced he was the world's greatest
programmer.

I asked him if he could talk through how he would write a function that showed
if an unsorted-array contained consecutive integers with no gaps and no
duplicates. He said he never claimed he was a math major and that such a
problem was unfair to ask. In other words, he had no idea what to do.

But what was interesting was that this same guy could answer questions about
the O(n) complexity of algorithms and explain how to write quicksort.
Apparently, his pre-interview preparation involved memorizing that in hopes we
would be dumb enough to mistake that for competence.

If you are hiring a baseball player, you don't hire someone that that can
rattle off baseball statistics or that talks about how they read about
baseball for 4 years at college, you hire someone that can play baseball.
Well, I am hiring a programmer. I don't care if memorized the names of design
patterns; I care whether you can you actually use them.

~~~
jaimebuelta
Great comment. There are a lot of those questions that are repeated over and
over and over...

------
freework
The same can be applied to pre-interview screening problems as well. I
recently send my resume to a company that was advertising on the Hacker New
job board (I'm not going to say which company it was). They replied to my
email telling me that in order to get to the next step in the process, I need
to solve a problem and send them my code. They wanted me to send them a
conway's game of life board that, after 1000 generations, could be converted
to a GIF and would make up a black and white image they included in the email.
Basically they wanted me to take their image, convert it to a conway game of
life board, and then figure out how to calculate backwards game of life
generations. Sounds to me like a fools errand. I deleted the email and never
thought about it again. I have better things to do to fill up my free time.
Maybe if they had me do something actually useful or meaningful...

~~~
nollidge
That sounds like a fun challenge, and if it's at all representative of the
sorts of problems they take on, I'd love to know who the company was so I can
apply.

~~~
freework
The fist task is converting the GIF into a data structure. That could take
anywhere between one hour and one day. Since I personally have no experience
reading data from GIF files, it is probably going to take me one day.

The next step is to figure out how to reverse generate conway's game of life.
If you have previous game of life experience, you may already know how to do
that. But I'm not a game of life expert. Its going to take quite a bit of
research and trial and error to get that working. It will probably take me at
least a day.

It all boils down to this: I don't want to waste two days of programming time
for something as pointless as this. Especially since they could very easily
say "sorry you're not a cultural fit" after spending all that time. Thats
actually what happened to me a few months ago when I spent 4 days doing a
programming problem for a job at reddit. They called me about a month later
and had a 5 minute conversation with me, and then never heard from them agan.
Assholes.

My new rule is that I don't spend any ore than a few hours on any one single
problem, unless they pay me, or if it's interesting enough.

~~~
mjmahone17
How I feel about things like this: If you're interested in doing the
programming challenge, you should do it, because it's interesting to you (and
so that company tries to give its employees problems that are interesting/has
employees that find the same problems interesting as you do). If not, then
you're right, it's a lot of time to spend on it. But learning how to go about
programming that is certainly not, in my view, a waste of time, or at least no
more a waste of time than doing an edifying class assignment. So, in essence,
they're filtering for people that enjoy solving interesting coding challenges
in their free time. If I'm a company, that is probably a reasonably good
filtering mechanism, and if I'm a potential employee, I likely want to be
around people who like solving these sorts of things on their own.

Also, this isn't as tough a challenge as you make it out to be: writing the
game of life is, at most, a 2-hour assignment. So writing a game-of-life-
reverser might tack on an extra 30 min. to hour. Then, you just hand-code in
the gif into a game of life board, and run it through your reverser. Unless
your gif is really large, in which case it might be a little more annoying,
but probably not drastically so.

~~~
freework
Just to clarify: It was a 800*800 image (or there abouts), and the GIF was
pictoral (it was actually lena). It wasn't a typical GOF board. The question
even hinted that if you can't get an exact match, then return a board that
"comes close as possible". Without posting the whole problem, it definitely
seemed like the kind of problem that would take at least a few days.

On the other hand, I once had a company give me a problem that was essentially
to build a page that displays products from an API endpoint, and have that
page infinitely scroll. That was something interesting, because infinite
scroll is a useful skill. I had never implemented infinite scroll before, so
in order to complete the task, I'd have to educate myself. And infinite scroll
is a skill that I can use again. Conway's game of life in reverse is not a
skill I'm ever going to use again, except for the next job interview busy
work.

~~~
nollidge
> I once had a company give me a problem that was essentially to build a page
> that displays products from an API endpoint, and have that page infinitely
> scroll.

I'd probably have the same reaction to that as you did to the reverse-GOL.
Sounds dreadfully boring, if that's the sort of stuff they do every day. I
don't want to re-use old techniques over and over and over; I want to
continuously discover new ones.

------
__abc
Having been hiring developers, designers, and product managers for the better
part of the last ten years ..... I agree.

I also hate the actual interview itself. So little time to try and learn
something that for the most part cannot be learned in a high pressure,
nervous, anxiety ridden situation (I realize I am also being interviewed,
assessed, and reviewed). However, this is a different point altogether from
what the author is discussing.

I do think it's great to try and understand how someone

1 - Problem solves 2 - Approaches asking questions, interacting with other
people, etc

And quizes can _sometimes_ be a way to figure that out.

I've just found that when using quizzes it's better to openly communicate with
the person what you, the interviewer, are trying to better understand. I
always pre-amble a quiz (if and when I do use one)

"hey, I'm going to ask you a question/quiz/riddle. It's important to note I
could CARE LESS about the answer. I'm really looking to better understand how
you would go about solving this. So please, make sure to walk me through your
thought process and don't hesitate to ask me any questions along the way".

I also like to make it clear how it ties into what the person will be working
on. For example

"the reason I ask, is one of the first projects you will be working on is
___________, so knowing how you approach nebulous problems will be important"

The best response I had to this is

Well, I might do X,Y,and Z, but to your real question, I have a great example,
mind if I share that?

Also, this is just a data point. Going back to my second paragraph, I've never
once "not hired" someone based on how well they think on their feet in an
anxiety ridden, pressure filed, hour of their life in a room with total
strangers.

~~~
crusso
_I always pre-amble a quiz_

I dunno. That sort of defeats the objective of assessing that person's natural
reaction to a little interview pressure. It's not water boarding, it's a
simple programming or logic puzzle that requires most people to think.

~~~
__abc
People (on average) are nervous, anxious, etc during an interview. I don't
really care how they "naturally" react in that situation as THAT situation
isn't day-to-day (at least not in the software companies I've spent my time)
so I'm almost don't really care about that.

I really just care about how well they problem solve, not problem solve in a
fox-hole with bullets flying over their head.

------
melvinmt
It's funny to see that developers have so much leverage on the job market that
you can read phrases like "don't hire this employer, you're better than that"
and act like that's the most normal thing in the world. I guess it's time for
having paid interviews again.

~~~
runarb
When you think about all the time and care most developers will spend on there
jobs one should be picky. It is literally one of your life's most important
decisions.

~~~
sergiotapia
Hear, hear. The good software engineers are worth the money; they care about
your product and apply years of expertise.

------
mjmahone17
What falls into the riddle vs. "acceptable" role? In my mind, it's perfectly
valid to ask, for instance, "Given a binary search tree, write a program to
return all elements between a low and high." or "Write a program to return
whether or not a given string matches a regular expression." Are these
"riddles," as espoused by the article? Sort of: they do take some element of
an "aha!" moment to solve, whereas the "recommended" questions were mainly
just domain-knowledge questions. But if you solve these problems using
convoluted coding techniques, then I as an interviewer would be really worried
that you'd muddy our codebase unnecessarily, and if you can't see how to solve
them, I may discover that you have a problem thinking recursively, or logicing
through complex issues. Or, I may find that you tend to dive into a problem
before thinking about it and designing your solution. All of these seem fairly
relevant to any job, and I've actually turned down employers that asked me too
many "domain-knowledge" questions and not enough "how do you think about
things" questions, because I don't want to be somewhere where I'm just
expected to "know" the answer.

------
cr4zy
To me interviews are like weddings. High expectations and not enough practice
- a great setup for some memorable mishaps.

I'd just offer the following from lots of experience on both sides.

\- Make sure to write down a sample input and output. Sounds simple, but is
often not done and the cause of a lot of wasted time.

\- After you're on the same page about the input and output, allow for a
minute to think. Silence should be perfectly okay here.

\- Always discuss the strategy and various options before implementing the
solution.

------
duopixel
I tend to agree with the author, but there are indeed some things you can
infer from the type of response you get. I have a friend who was doing a
technical interview, and things seemed to be going weird. It seemed that the
candidate knew the answers to most of his questions, but when pressured
further he couldn't come up with alternative solutions. It was like those
people who know the motions of math, but don't understand what it's for.

So he decided to ask one of these riddle questions: "How many hairs does a dog
have?" and the candidate answered that it depended on the dog. So far so good.
But then he started rambling: "Well, if it's a dog from the street, the dog
might have scabies, and thus this dog has less hair.

Of course, this is a perfectly valid answer, but it is the failure of applying
math/statistical thinking into his answer what was telling.

Now, I'm sure some people are thinking "that's anecdotical evidence" and it
is, but what is the alternative if your intention is to hire mathematically
inclined candidates?

~~~
pekk
Test them more directly on tasks similar to what you will need them to do?

------
BobWarfield
Riddles are useless interview tools. When I am building a new dev team or
adding to an existing one, I care about two things:

1\. Did the candidate make a critical contribution to a piece of technology
that I respect. I will start by asking them for examples of this in a lot of
ways including asking them to present something they're proud of to the team.
I will not rest until I have verified they did this through my network and
back references.

2\. Is their chemistry compatible with the team, or as it is more popularly
put today, are they a good culture fit? That opportunity to present to the
team is an important test. Another one is that the interviewing team has to
catch them out being wrong about something and then see how they react to
that. You can learn a lot about how someone deals with learning they're wrong
about something. Lastly, we look for opportunities to socialize with the
candidate. They can't be a good culture fit if nobody wants to spend non-work
time with them.

------
zeidrich
Interviews are a two way street, but in any negotiation there's different
leverage. Most of the time, in the current job climate, the interviewer is the
one with the leverage over the employee.

For many people, a job interview ends up being "how much crap am I willing to
put up with to make a living wage" and whether the interviewer (who may not
even be someone you will ever work with again if you're hired) asks stupid
riddles might factor very little into the equation.

I think this article would be better suited if it targeted the interviewers to
say "Look guys, asking riddles is pointless and might turn off the best
candidates who /can/ afford to fire you and look for another company to
interview with."

On the other hand, you might consider whether you actually even want an
employee who is willing to abandon the whole enterprise when they realize that
an interviewer has the NERVE to ask them to solve a riddle or logic puzzle.

Like raganwald said, the interviewer is probably not the best interviewer, and
you can decide whether you want to work with him and make the best impression.
Or you can decide that you will only work under the strictest of conditions,
and if someone asks you a question you don't like, that you may as well just
walk out of the room right then, because they're obviously an braying alphadog
assholey jackass.

If I was conducting an interview, and felt like asking a riddle like the
article ("Four people want to cross a bridge. They all begin on the same side.
You have twelve minutes to get all of them across to the other side. It is
night. There is one flashlight. A maximum of two people can cross at one
time"). If my candidate just said, calmly, and without agitation "Heh, you
know, I'm not really good at on-the-spot logic problems like that. I don't
know how long it takes for a trip anyways. But 4 people, weird restrictions,
would probably take more than 4 and less than 4^2 trips." I would get a lot
more out of it than if they blurted out a correct answer.

On the other hand, I'd probably learn a lot if they slammed their hand on the
table, called me a braying asshole and stormed out of the interview.

------
waivej
It makes me want to ask an interviewer to code a solution to fizzbuzz or solve
a riddle.

~~~
danielweber
If I am interviewing you, I wouldn't mind you giving me a puzzle. Depending on
how you do it, I would think you are either the world's biggest asshole, or a
very easy guy to work with, and that's very valuable information.

------
venomsnake
I think there is some value in trying to see if a person can have a Columbus
moment. After all the simplest solutions are hard to find. And it is nice to
see how a person deals with problem outside his domain of knowledge. We don't
want to hire someone that can have a nickname like Complicator or Rube
Goldberg. But the questions must be rooted in reality. The correct answer to
how much a Boing weights is check the manual.

Аsk them how to minimize datacenter flooding or how to lift fuel 20 floors
upwards with no pumps working - that were real things that real people had to
solve just a few months ago. And they weren't hired for that.

------
icedchai
The worst company I ever worked at (now out of business, fortunately) had an
interviewer / hiring manager who asked these sorts of riddles.

He also had a really thick accent. Later, he also proved to be technically
incompetent.

I quit after 6 months.

~~~
kscaldef
What did his accent have to do with the rest of this?

~~~
jlgreco
I assume he is implying that the technical incompetence caused people to
second-guess what they heard when confusion arose. This confusion can be
misunderstood by the interviewer as confusion over the subject matter. I know
I've had that problem before over poor telephone connections.

------
jiggy2011
Surely all of these arguments boil down to balancing how important general
intelligence vs domain expertise is to your hiring procedure.

You could see these riddles as a stand in for just giving the candidate a full
blown IQ test.

~~~
garretr
I agree 100%. There seems to be 2 camps when it comes to what makes a
programmer great: aptitude versus domain knowledge. I think both are important
but aptitude is harder to train someone on.

I'm a big proponent of tough, small problems in an interview, that the
candidate has never seen before. Much like the author is against. This is
because it has been the best indicator of performance in my experience.

~~~
Cookingboy
The author is not against small, tough problems, by all means a well designed
generic programming question that doesn't tie in to any specific domain
knowledge can be a great test.

What the author was against are the riddles, which are proven to be
ineffective in determining the general aptitude of the engineers, and that's
why the companies that used to use them (MS and Google, for example) have
mostly banned those.

~~~
jiggy2011
I guess the question is, how do you design a programming problem that doesn't
tie into specific domain knowledge?

Even fairly general stuff like implementing balanced search trees will likely
be biased towards younger candidates who are fresh from university.

~~~
Cookingboy
You can still do it, it doesn't have to involve a complicated CS topics such
as self-balancing trees or graph theories or anything, but I've seen plenty of
good algorithm questions that the solution involve nothing more than
understanding of Strings and for-loops.

You can also test the interviewee's knowledge of Big-O, time efficiency vs
space efficiency, etc without going into obscure data structures.

~~~
jiggy2011
Big O would be something I was much more familiar with out of university,
although I could probably muddle through some basic questions around it.

For loops that manipulate strings in various ways however is probably
something that most programmers will have wrestled with reasonably regularly I
imagine.

------
therandomguy
Towards the end of the interview the interviewer told me, "your turn to ask me
questions". I said, "I have this puzzle for you...". He turned pale for a
moment and then laughed at the joke. I wasn't joking.

------
ianstallings
This is not a trivial career so why trivialize it? I'm more keen on seeing a
person's past work or hearing about their experiences. Asking them how they've
solved past problems and how they've faced past conflicts gives me insight
into if we can start working together. That's all an interview is. There's no
guarantees it will all work out and I believe no amount of interviewing
techniques will change that.

------
dasht
Riddles, logic puzzles, "write some code on the whiteboard" ....

It took me years to realize that these are _not_ tests of technical ability,
they are tests of _submissiveness_.

For example, if you are being interviewed by someone at the same level as you
for some position -- and they pull such crap -- now you know how low their
expectations of the employer are.

And if you are being interviewed by someone fairly senior relative to the
position -- and they ask you such BS interview questions -- you can be _damn
sure_ that they themselves would laugh at and walk away from any interviewer
that did that to them.

So when you give the clever answer and wait for your gold star... you've
established your place in the order of things.

------
mikecane
The best question was asked by Steve Jobs: "How do you re-invent the phone?"

All of you smartasses hiring with your riddle questions couldn't answer that.

------
nerdfiles
I keep my interview questions in my "github résumé":
[https://github.com/nerdfiles/R-sum-/blob/master/q/to-
startup...](https://github.com/nerdfiles/R-sum-/blob/master/q/to-
startups.markdown)

I recently had a headhunter e-mail me, offer no job description, but directed
me to the website of the company, which makes iOS/iPhone apps. Two hours later
he pinged me again asking if I read his previous e-mail.

Nowhere in my many online résumés do I say I have iOS experience or that I am
even interested in that kind of work. Moreover, I stress, emphasize, my
interest in hypermedia and W3C Standards.

This market is saturated with mismanagement, and there is a clear bottleneck.
So, for instance, "hypermedia." Most developers and "techs" I mention this
term to obviously have no idea what I'm talking about. And just entertain the
fact that I made some jargonish sounding word, thus giving me the benefit of
the doubt.

But now I cannot find work I want to do because hardly anyone knows what
hypermedia is, and that is _not_ my fault. I'm staying abreast with my
industry, and now I am suffering for it.

There is a bottleneck here, as with most "recruitment" industries. I don't
even want to begin thinking about open source typography, with all the
Microsoft Web Safe Fonts flying around.

