
Tough Crowd - raganwald
http://github.com/raganwald/homoiconic/blob/master/2009-05-13/tough_crowd.md#readme
======
ianbishop
I actually was thinking the same thing when I scanned over the comments for
this article. One reader wrote something similar to, "it seems like you fell
for every trap the interviewer put out".

What trap? Thinking before speaking? Someone who answers general, ambiguous
questions with a general, ambiguous answer cannot be much of a programmer.
Aren't we trained to do just the opposite after all?

~~~
evilneanderthal
This.

Who wants an employee who never questions the requirements?

I can't think of a better way to end up in project management failure than to
start writing a solution to a problem you don't understand.

~~~
azanar
_Who wants an employee who never questions the requirements?_

More than you might imagine.

Think of all the people you've worked with, in whatever capacity, who never
question requirements. It seems likely they will hire people of the same sort,
not just because they might have a bias toward the "good" employee being
subservient, but because someone who questions the requirements to them will
inevitably want them to question the requirements to their superior. They've
already spent their career up to this point avoiding this, it seems unlikely
they'll take some action now that prevents it.

~~~
logic
Or, more simply: "A people hire A people, B people hire C people."

~~~
Chocobean
Then, who hires the B people?

~~~
menloparkbum
Yahoo.

~~~
Chocobean
actually I was asking in sincerity.

~~~
menloparkbum
It was a sincere answer.

------
hcayless
In my experience as an interviewer, the original post was an example of what I
always hope for--when the interview turns into a real discussion, and you're
able to gain insight into the interviewee's character as well as his/her
technical prowess. I always ask a mixture of open-ended and technical "quiz"
questions.

More than that, I was a bit baffled by the negative responses. Willingness and
ability to examine the assumptions behind a task are attributes I want in
teammates.

------
lacker
The author of the initial post did make some technical mistakes. Here's one
that jumped out at me -

 _"What will you do in the event of hash collisions?" the professor asked.

"How do you know there will be any?" I said. "Look, the English language only
has a million words. We're hashing a million words into a table that can hold
four billion. The load factor on the table is negligible. If we're getting
collisions it means we need a better hash algorithm._

This is intuitive but incorrect. The principle is also known as the birthday
paradox -

<http://en.wikipedia.org/wiki/Birthday_paradox>

If you hash a million words into a 4-billion table, you _do_ expect
collisions. You expect to get collisions when you insert on the order of the
square root of the size of the table, and the square root of 4 billion is much
less than a million.

~~~
patio11
_If we're getting collisions it means we need a better hash algorithm._

It would hardly be the first time. The hash function which is the default for
Java strings, for example, sucks.

int hash = 0; for (int i = 0; i < length(); i++) { hash = 32 * hash +
charAt(i); } return hash;

( _Lots_ of collisions on any English dictionary unless you use huge numbers
of buckets.)

This actually had important implications for a project I once worked on, in
_exactly_ the manner you would expect it to have implications for this
interview. The difference was that, in meetings about this issue, I did my
best to a) give the customer what they needed and b) did not give the
impression I was saying "Screw what you want, I'll _tell_ you what you need".

The birthday paradox problem, by way of comparison, is negligible for this use
case. Words in English follow a zipf distribution (you may hear "long tail"
more these days). If there is a collision, it is overwhelmingly likely to be
between two words on the long tail (no impact to first 10k words) or between a
word on the fat head and the long tail, in which case you're overwhelmingly
likely to encounter the fat head word first, and even if you don't, whoopsie
1/100th of a percent of your output was corrupted.

Wow, twice in one day natural language processing has reared its head. Thats
more than in my last two years! Booyah, old interests.

------
comatose_kid
As soon as I saw the title of the post, I was pretty sure what you'd be
writing about. I thought the similar things when reading the discussion. One
thought that went through my mind was: this kind of negativity doesn't really
reflect well on the community.

------
ph0rque
One thought that came to mind is this: why not answer with, "I have a
straightforward, textbook answer, but also some thoughts/questions about your
assumptions in the question. Which is it that you're looking for?"

(Note: this question would be asked in a friendly, collaboration-seeking tone
of voice/body language.)

~~~
raganwald
There are two subjects: How to interview, and how to be interviewed. Say we
were talking about wearing a tie. My post would be about why you don't want to
require ties in interviews. Your comment is that if the company might require
ties, it might be sensible to ask them what to wear before showing up.

I think that your suggestion and my post can coëxist happily.

~~~
ph0rque
Absolutely... I guess as someone who will be doing two interviews with
different companies in the next several days, I've been in the mindset of the
interviewee.

~~~
raganwald
Good luck finding the right situation!

------
xilun
The real problem with the author of the initial post was that not only he had
an "attitude", but he even was technically quite incorrect (he could have done
worse, but still...), and not just once!

The collision fundamental misunderstanding was really not forgivable :/

Had he been technically correct, the whole non-stop "your question is really
too imprecise" thing and perhaps even maybe the stinky "oh my God, the
interviewer does not even know the XORBLUB algorithm" one would be more
tolerable. But in the context of his own report of the interview, he is just
pedant and not that smart...

------
keefe
'The interviewer wanted him to give a technical answer to a technical
question, not enter into a discussion about what "The ten thousand most-used
words in the English language" actually means or whether it's feasible to
collect a corpus of such words.'

Is it not technical to consider the sample size of your data? It's not even
interesting how you do the +1 to the frequency count of a given word if the #
of words get huge - nobody has any business talking about hash table
collisions blah, it's too low level. I'll estimate a half million english
words and use the Java hash table or a database with a words table, now I will
setup my web crawler to get data... but how do I know what text is a word and
is not? That is actually the only interesting bit of that question! So first I
need to scrape dictionary.com and then start spidering say livejournal vs
msnbc vs whatever.

If someone talks about hash table collisions for this problem, they are likely
to suffer from "not invented here".

------
Tichy
What exactly is the problem? Some people would have hired the guy in question,
others wouldn't have. Why can't they both be right? Tastes are different, and
no two companies are the same.

~~~
raganwald
No problem, just my surprise at the overwhelming mass of comments criticizing
the poster. I'm not saying his actions were perfect, but similar posts in the
past (such as "Stupid Interview Questions") elicited a much more balanced
split between criticizing the interviewee's actions and criticizing the
interviewer's actions. I just expected something else from the _aggregate_ of
responses, which is not the same thing as disagreeing with any one individual
response.

~~~
Tichy
In a real world situation people's reactions might have been different. I
guess it is just easy to interpret different things into a written account of
the interview (like "arrogance").

~~~
raganwald
My surprise was at the aggregate tone of the posts being about the interviewee
and almost nothing questioning why the interviewee kept hammering away at the
pre-conceived point of the question.

But I don't have any issue with any one individual person's conclusion.

------
space_cowboy
Did he just use a french word to close one section, and a latin phrase to open
the next ("fin" and "post scriptum")?

That bothers me.

