October 11, 2004
Stupid Interview TricksIf you read Joel Spolsky's Guerilla Guide to Interviewing, he discussed a question he likes to ask candidates: "design a house". He states, "As a policy, I will not hire someone who leaps into the design without asking more about who it's for. Often I am so annoyed that I will give them a hard time by interrupting them in the middle and saying, 'actually, you forgot to ask this, but this is a house for a family of 48-foot tall blind giraffes.'"
Spolsky is the president of a small company, and he can do what he wants when he interviews people. But the "design a house" question was imported from Microsoft. And in my opinion, using it the way Spolsky describes it is a terrible way to interview.
First of all, this question can be "ruined" quite easily. If you know that the way to answer a design question is to keep asking the interviewer for clarification, and you are halfway intelligent, you can B.S. your way to no worse than a draw when answering a question like this. So it's a pretty silly question at this point.
Much worse, however, is immediately saying "no hire" to a candidate if they haven't read a book or website that explains how to proceed. The assumption seems to be that someone who as a candidate designs a house for themselves, will as an employee design software for themselves. Meaning, they would sit down at their desk, look around at all the buildings and people and equipment at Microsoft, and decide that it was all at their personal disposal to create the best software for them personally.
Is this an accurate extrapolation? Of course not. Unless you are an architect or someone in a similar position, the only house you will ever design will be one for yourself. So what's wrong with assuming during an interview that the question referred to a house for yourself? I'm sure I could learn some interesting things about someone based on what kind of house they would want to live in.
Anyway, I am pretty sure most people can draw the distinction between something they do for their own benefit, and what they do for their job. If you ask me how I pick out a pair of shoes, I will assume you are talking about how I pick out shoes for myself to wear, not that you are asking how I would behave if I were a fashion consultant to someone else.
I mean, consider the following imagined exchanges between interviers and candidates:
I1: Joe and Tom have $21 total. Joe has $20 more than Tom. How much does Tom have?
C1: 50 cents.
I1: No, it's 60 cents. This takes place in a country where there are 120 cents in a dollar. You should have asked me to clarify that.
I2: Cities A and B are 120 miles apart. A train travels 60 miles an hour. How long does it take the train to get from A to B?
C2: 2 hours.
I2: No, it's 3 hours. The track has to detour around a mountain. You should have asked me to clarify that.
I3:I have 3 balls. One is heavier than the other two. How many weighings does it take to figure out which one is heavier?
I3: No, the first time you weighed them one of the balls rolled off the scale, so you needed a second weighing. You should have asked me to clarify that.
You get the idea. If as an interviewer you want to play the "you didn't clarify the question" game, it can be taken to as absurd an extreme as you like. If your goal is to prove you are smarter than the candidate, then knock yourself out. But if you are actually trying to hire the best people, using this question the way Spolsky describes won't tell you much of anything.
Posted by AdamBa at October 11, 2004 09:26 PM
TrackBack URL for this entry:
I agree with you. Unfortunately, this is a trait common among all of Joel's rants; his "articles" are--at most--twenty percent useful or truly insightful information, while the rest is just--for lack of a better (or wrose) word--totally crap.
The other unfortunate thing is that a lot of people give too mich weight to his opinion. As you have illustrated, this could come at the cost of dimissing a good candidate simply because he doesn't know how to design a house using the Joel's architectural principle of uncertainty.
Posted by: Mohammad Abdulfatah at October 12, 2004 09:44 AM
Well stated--as the candidate, would you really want to work with a team where certain crucial information (the customer today is a family of giraffes!) was routinely left out? A candidate would have every right to walk out of such an interview without a backward glance.
Posted by: Jonathan Malek at October 12, 2004 11:48 AM
I know I wouldn't want that kind of person as my boss ... where I could never rely on the information they gave me because they would leave something out intentionally, either to see if I was "doing my job" or to create a scapegoat if something went wrong.
Those sorts of questions say more about the interviewer than the interviewee.
Posted by: Rob Stevens at October 12, 2004 03:23 PM
I am a little touchy on this particular issue because a friend of mine recently interviewed at Microsoft for a pretty high level position. The hiring manager (last interview of the day) said that everyone had said "hire"...then proceeded to act so obnoxious in the interview that my friend decided not to bother pursuing the job.
Posted by: Adam Barr at October 12, 2004 03:54 PM
Mind games, puzzle tricks, gotcha impromptu zingers, irrelevant “IQ tests”, “moving Mount Fuji’isms and Chris Sells’isms”, sneaky hidden trapdoors of the Spolsky sort and all the usual Microsoft shenanigans are a wash. Smacks me more of Geeky Eliteisms, people cut off from the real world. Past history, past accomplishments are very relevant, and if any question into someone’s prior background or knowledge, someone hasn’t done their homework. You only bring people in that already have “the right stuff”, the rest is just to see how they will fit into the unique culture and what type of personality factors are at play and even that is all very subjective, depedent upon the 3 people chosen to vent you up. Not a science, I guess I’d just feel out the passion, you can sort of tell someone who is really into it, or just faking it to “get a job”. The best hires are ones that are interviewing YOU.
Posted by: Christopher Coulter at October 14, 2004 11:12 PM
I would sort of agree with your views, but here is the mentality one would probably be looking at:
An example would be some companies which pick up projects outsourced to them. Many a time each product comes with a list of specifications (say from Company A) given out to Company B. Lets say one of the spec. says: Spec1.0: Ask user for filename/file path and process it to do yadayadayada.
Here is the issue. Company A forgot to mention what to do if the file was not available. Should you say "File not found" or should you look for a likely match and print out "You said file John.jpg, did you mean Jon.jpg?" and if user says yes, process that file.
Catching such issues at Spec Review stage helf cutting down costs by an astronomical amount and this is what one wants to see when asked "Design a House".
Unfortunately, "Design a House" would be a bad example to ask. You are here for a software dev. position. Maybe something like "A part of the product spec. I am looking into right now says XYZ. How would you approach its design?" Keep the spec ambigious and see if the interviewee actually jumps straight into design or looks for ambiguity, gets them cleared up and then designs. My suggestion would be present him a real software world example which tests his approach rather than "Design a House".
Posted by: Apoo at October 16, 2004 01:10 AM
As a candidate answering these questions, the "more information" is a stage of your answer. If you put 20% of your time upfront into this information gathering, you will do fine. You can then work on your design. As long as you have incorporated minimum 2 research items into your answer, you can also use common sense design and experience to put the product together. The "more information" is not an endless loop to a successful answer...
Posted by: Elizabeth Grigg at November 11, 2004 11:34 AM