• Herr Killjoy (unregistered)

    Okay, time to be a German grammar and spelling nazi. (Would there really be any other kind?)

    Guten Tag.

    One 't', and both words capitalized.

  • Josh (unregistered)

    I got the "design me a house" question during one of my first-job-out-of-school interviews. Given my n00bishness, I didn't have the liberty of scoffing outright, but, to say the least, that was one of the few interviews that didn't result in a job offer.

    I sort of understand the brain teaser ones, or at least, would if the interviewers were coming up with their own, but how does "build me a house!" in any way relate to programming or software design?

  • Chad (unregistered)

    You know what? I think I want 3 references from you Mr. Employer. You know this is a 2 way street, right?

    I think I'm going to start asking for that.

  • Koun (unregistered)
    If they liked me, well, "gutten tag", and all that!
    It's "Guten Tag" (with or without Linux. I guess German is cross-platform)
  • vt_mruhlin (cs)

    The sad truth of the matter is that the step-by-step installation is probably the only Linux experience you need to do the job. Most of the other consultants on the team probably added C++ to their resume under the same pretenses as you, and the reason it won't compile in Linux is that it won't compile anywhere.

    All you need for that kind of job are simple troubleshooting skills. See where it breaks and read the man pages.

  • Koun (unregistered) in reply to Koun
    Koun:
    If they liked me, well, "gutten tag", and all that!
    It's "Guten Tag" (with or without Linux. I guess German is cross-platform)
    OK got beaten to it (with a funnier comment)
  • Smash (unregistered)
    Fine. How many floors do you want?"

    "Two!," he shouted, "no, three! I mean, one! Err... no, I want six, maybe sev--"

    This guy really got into character. He has no idea about what he wants at all, just like most customers I've seen.

    captcha: jumentum. Could it be any more appropriate?

  • vt_mruhlin (cs) in reply to Josh
    Josh:
    I got the "design me a house" question during one of my first-job-out-of-school interviews. Given my n00bishness, I didn't have the liberty of scoffing outright, but, to say the least, that was one of the few interviews that didn't result in a job offer.

    I sort of understand the brain teaser ones, or at least, would if the interviewers were coming up with their own, but how does "build me a house!" in any way relate to programming or software design?

    Given the changing of the number of rooms, I'm guessing it's supposed to mimic the flakiness of the software requirements gathering process?

    Now, it's fun because I bet architects actually get customers like that. I wonder if they have to design software for their job interviews.

  • AbbydonKrafts (cs) in reply to Josh
    Josh:
    I sort of understand the brain teaser ones, or at least, would if the interviewers were coming up with their own, but how does "build me a house!" in any way relate to programming or software design?

    If you knew how to build a house as well as design software, you'd know the analogy fits. I used it in an IP lawsuit once, and all parties involved knew exactly what I was talking about. The problem is when the one attempting the analogy gets it wrong.

  • James Ingram (unregistered) in reply to vt_mruhlin
    vt_mruhlin:
    the reason it won't compile in Linux is that it won't compile anywhere.

    No, the Windows version was compiling fine (or so they said). I'm not a C++ expert, either - but have dabbled (this was also clear on my original CV - the job offered me gain C++ and gain Linux). They were asking someone who had dabbled with C++ and dabbled with Linux to fix a mission critical compile error when the previous dev had left the project.

    If he had had Linux added to his CV as well.. what sort of state would the system be in? No way was I taking that risk..

    ..oh, and thanks to everyone who pointed out that I can't spell in German :)

  • Smash (unregistered) in reply to Smash
    Smash:
    ...Could it be any more appropriate?
    err sorry, I meant adequate, but as english is a foreign language to me and all that, you know...
  • Greg (unregistered)

    IMO the housing interview question is valid. The candidate can get assessed on how he would design something he hasn't designed before, which is an important skill for a developer - often some algorithm or business process has to be implemented, and interviewing and bargaining suddenly become important skills. The candidate can show initiative, how he bargains with a potential customer on features, wether he has commercial skills, etc etc etc. For a lead developer or consultant, this is relevant. For a junior position however, much less.

  • taylonr (cs)

    If it's true that relatively few people get fired for incompetence, but instead of relational issues (lazy, a jerk, etc) why not focus on personality issues?

    If you go interview at Caterpillar, whether you are interviewing for an accounting position, or an engineering position, or a sales position, the questions are more like: "Tell me about a time when you were on a project that didn't get done on time." Followed up with "Did you identify the reasons why it didn't get done on time?" and "What would you do about that next time" etc.

    I interviewed with 3 mid-level managers, got 9-10 questions like that. Got 0 questions of "can you design me a circuit that will filter out a 3kHz signal" or "write out the output of this logic circuit" or worse yet, "design me a house!"

    Found out later, that there is a set of about 50 questions. HR picks who you interview with and which of the series of questions each manager will ask you about. Managers pick the specific questions.

    Seems to work pretty well for them, they've got some of the brightest people I've ever been around, yes software people too.

  • Jack Flash (unregistered)

    Its "Guten Tag" not "gutten tag"

    CAPTCHA: Kraut

  • sewiv (unregistered)

    That "list of questions" approach is called Targeted Selection. It's what we use here, along with a separate technical interview.

  • Smash (unregistered) in reply to Greg

    Maybe they only needed someone with interview-for-requirements and drawing skills?

    "Hey, requirement guy, the application needs a 32x32 icon. Draw us a house, ok?"

  • Outlaw Programmer (cs) in reply to Smash

    I "get" the whole house metaphor, but I don't think it's really that accurate. After all, people have been building houses for 5000+ years, but have only been designing software for 50 years. If I was an architect and my customer asked me to build a house where they could rearrange rooms or add/remove floors whenever they wanted, I don't know what my reaction would be.

    In The Pragmatic Programmer, the author talks about how programming is more like a garden. Gardens start out small, and you start with a specific plan in mind, but you're forced to rearrange the garden periodically because you're not sure how it's going to grow. I find that's much more accurate than building a house, where you MUST have some blueprints and it's very unlikely for those plans to change much once construction is underway.

  • SomeCoder (unregistered)

    The real WTF is that the house metaphor was taught to me in one of my "new age" software engineering classes in college. We also had to pack up a house to move in a certain amount of time and build an egg catcher.

    All have some principles that can be applied to SE but I'm not sure I took a class that had less "substance". Most of the things we had to do were simply time wasters and didn't help us to managed the real project we had to do the next semester of SE - basically a continuation of the previous semester. Rather, they hurt because we were on such a time crunch that doing anything except coding was actually harmful. And yes, that's a WTF in and of itself but we won't go there and it's just academia, right?

    I really hate companies that ask brain teasers instead of real questions. My current company asks brain teasers but then they give you real programming problems to solve also.

  • James (unregistered) in reply to James Ingram
    James Ingram:
    vt_mruhlin:
    the reason it won't compile in Linux is that it won't compile anywhere.

    No, the Windows version was compiling fine (or so they said). I'm not a C++ expert, either - but have dabbled (this was also clear on my original CV - the job offered me gain C++ and gain Linux). They were asking someone who had dabbled with C++ and dabbled with Linux to fix a mission critical compile error when the previous dev had left the project.

    If he had had Linux added to his CV as well.. what sort of state would the system be in? No way was I taking that risk..

    ..oh, and thanks to everyone who pointed out that I can't spell in German :)

    Ah, this clarifies a bit. My first impression on reading the story was that the Client was a non-technical person who had been convinced by people who didn't know what they were talking about that they needed a "Linux expert" when in fact you'd just be deploying to a Linux system, about which you needed to know pretty much nothing. I figured that the intermediary (the one who added Linux to your resume) was the guy who knew better. I guessed he was taking the path of least resistance by simply telling the Client that you had Linux experience, rather than trying to convince them that it wasn't necessary.

  • DeLos (cs) in reply to Herr Killjoy
    Herr Killjoy:
    Okay, time to be a German grammar and spelling nazi. (Would there really be any other kind?)

    Guten Tag.

    One 't', and both words capitalized.

    Make this a featured comment. We've already got two more people chiming in.

    btw - did you know it should be "Guten Tag"?

  • Former Jr. Programmer (unregistered)

    Guten Berg.

    Finally off of Dancing with the Stars.

    Finally.

  • Havok (unregistered) in reply to Smash
    Smash:
    Fine. How many floors do you want?"

    "Two!," he shouted, "no, three! I mean, one! Err... no, I want six, maybe sev--"

    This guy really got into character. He has no idea about what he wants at all, just like most customers I've seen.

    captcha: jumentum. Could it be any more appropriate?

    I really think he was playing a game. I dont think he was uber retarded. He was testing your reactions.

  • taylonr (cs) in reply to sewiv

    Yeah, couldn't remember the term. But I went to "Host Training" so that you could be the host to incoming interviews, and they kept talking about Targeted Selection.

  • taylonr (cs) in reply to taylonr

    Hey, has anyone chimed in about how Gutten is spelled wrong? That'd be pretty funny if someone would point that out. Surprised nobody has.

  • ChZEROHag (cs) in reply to Herr Killjoy
    Herr Killjoy:
    Okay, time to be a German grammar and spelling nazi. (Would there really be any other kind?)

    Guten Tag.

    One 't', and both words capitalized.

    Two, surely?

    EDIT: Well one's a 't' and the other's a 'T', which are not the same.

  • For-Switch (unregistered)

    The second one was definitely not WTF. It's quite possible that a person has worked in one position for a long time and has quit due to personal pressure or what-not. The fact that asking for refs is a "standard practice" doesn't mean that it's the only way to prove one's abilities. In fact i would say that if the interviewer has asked for refs after already confirming that the prospective employer is knowledgeable then the story is WTF, but for the completely different reason.

  • evilghost (unregistered)

    If I ever got asked the "Build me a house" metaphor I'd go out of my way to make it ridiculous, referencing all events applicable to building a house with no application to software development.

    First, I'd respond with "What county is this house going to be built in, do you have the appropriate building permit, are there any leans against your property? Can I see the land deed? I'll also need to see your loan pre-qualification's letter".

    I'd later respond with "Am I just your framer or general contractor/builder?"

    I'd force the "home owner" to produce the house plans, identify where each receptacle, switch, recessed light, and CATV/Phone gang box would be.

    Then, when asked another question, I'd sit there in silence. After about 30 seconds I'd respond with "I'm busy building other McMansions, so I'm juggling building your house with multiple others and my plumber hasn't showed up yet because he's on another job site. Before we can start drywalling I need him to rough it in."

  • Fraggle My Rock (unregistered) in reply to Greg

    I had a similar interview once, but it didn't go well ...

    interviewer: You're in a desert, walking along in the sand when all of a sudden you look down, me: What one? interviewer: What? me: What desert? interviewer: It doesn't make any difference what desert, it's completely hypothetical. me: But, how come I'd be there? interviewer: Maybe you're fed up. Maybe you want to be by yourself. Who knows? You look down and see a tortoise, Leon. It's crawling toward ...

    Needless to say, I didn't get the job, too many stupid questions.

  • newfweiler (cs)

    Builder: Do you want me to build your house from the bottom up or from the top down?

    Client: From the bottom up of course!

    Builder: Dang it, now I have to tear it all down and start all over again.

  • poopdeville (unregistered) in reply to Fraggle My Rock
    Fraggle My Rock:
    I had a similar interview once, but it didn't go well ...

    interviewer: You're in a desert, walking along in the sand when all of a sudden you look down, me: What one? interviewer: What? me: What desert? interviewer: It doesn't make any difference what desert, it's completely hypothetical. me: But, how come I'd be there? interviewer: Maybe you're fed up. Maybe you want to be by yourself. Who knows? You look down and see a tortoise, Leon. It's crawling toward ...

    Needless to say, I didn't get the job, too many stupid questions.

    Liar. That's from Blade Runner.

  • tezoatlipoca (unregistered) in reply to Fraggle My Rock
    Fraggle My Rock:
    I had a similar interview once, but it didn't go well ...

    interviewer: You're in a desert, walking along in the sand when all of a sudden you look down, me: What one? interviewer: What? me: What desert? interviewer: It doesn't make any difference what desert, it's completely hypothetical. me: But, how come I'd be there? interviewer: Maybe you're fed up. Maybe you want to be by yourself. Who knows? You look down and see a tortoise, Leon. It's crawling toward ...

    Needless to say, I didn't get the job, too many stupid questions.

    Not only that but typically companies take a dim view putting their HR staff on life support.

    S'ok, I still like your owl.

  • Paul (unregistered) in reply to Greg

    I know enough about building houses and designing software to know that the analogy is suitable to only a small subsection of modern code design - that of the massive, monolithic, hard to extend, multi-manyear projects.

    Adding an extension to a house isn't the same as implementing an extension for Firefox, unless you overcharge the customers, promise them you'll be done in three weeks tops while really taking 10 weeks, and force them to use IE while you're adding the extension.

  • GF (unregistered) in reply to For-Switch
    For-Switch:
    The second one was definitely not WTF. It's quite possible that a person has worked in one position for a long time and has quit due to personal pressure or what-not. The fact that asking for refs is a "standard practice" doesn't mean that it's the only way to prove one's abilities. In fact i would say that if the interviewer has asked for refs after already confirming that the prospective employer is knowledgeable then the story is WTF, but for the completely different reason.
    While it's possible to ascertain that someone has a reasonable amount of skill or BS ability, it's often impossible to determine if they're reliable in a one hour interview. That's what references are for.
  • Jon B (unregistered)

    After we finish designing the house, we'll figure out that it's way over budget and won't be ready until years after we need it. We'll suggest building a smaller house (limiting scope), but that won't go over well. So we'll decide to ignore best practices (building code), exception handling (smoke alarms), and security (door and window locks). We'll even farm much of the work out to low-cost, offshore workers. When it's still not done in time, we'll just go ahead and have the owner move in anway (who needs drywall and flooring) - we'll call it a beta.

    Did I pass?

  • arian (unregistered) in reply to Outlaw Programmer

    You never tried to build a house in spain, did you?

  • Michael Suzio (unregistered)

    OK, someone took the Christopher Alexander / Patterns metaphor too far. Programming can be inspired by architecture, but you can't refactor a house, OK? If you want me to design a house that in any way resembles the way I'd design a program, then expect:

    • Me to want to tear down major portions of it each year as I realize better ways to layout the floor plan.
    • Due to this constraint, I will suggest you actually build three houses so I can have a production, staging, and development environment. Otherwise, learn to love sleeping on the front lawn while the house is undergoing development.
    • The backyard will be a solid black field of nullity until you can tell me where the maple tree goes, because everything else depends on that decision and you're being way too vague on requirements.
    • If pressured on the backyard module, I will lay down nasty green astroturf, a faux tree rescued from outside my cubicle, and a sky of plastic glow-in-the-dark stars so you can see a prototype.
  • Anon (unregistered) in reply to Fraggle My Rock
    Fraggle My Rock:
    I had a similar interview once, but it didn't go well ...

    interviewer: You're in a desert, walking along in the sand when all of a sudden you look down, me: What one? interviewer: What? me: What desert? interviewer: It doesn't make any difference what desert, it's completely hypothetical. me: But, how come I'd be there? interviewer: Maybe you're fed up. Maybe you want to be by yourself. Who knows? You look down and see a tortoise, Leon. It's crawling toward ...

    Needless to say, I didn't get the job, too many stupid questions.

    Let me tell you about my mother.

  • BIll (unregistered) in reply to Outlaw Programmer

    Reconfiguring a house is easy, if all the 'rooms' are cubicles. Ahhh, I'd feel right at work...

  • Justice (unregistered) in reply to Fraggle My Rock
    Fraggle My Rock:
    I had a similar interview once, but it didn't go well ...

    interviewer: You're in a desert, walking along in the sand when all of a sudden you look down, me: What one? interviewer: What? me: What desert? interviewer: It doesn't make any difference what desert, it's completely hypothetical. me: But, how come I'd be there? interviewer: Maybe you're fed up. Maybe you want to be by yourself. Who knows? You look down and see a tortoise, Leon. It's crawling toward ...

    Needless to say, I didn't get the job, too many stupid questions.

    I wish some of my interviews could have ended the way that one did.

    Though I think if I'm ever in a hiring position I'll give Voight-Kampff tests. Can't be too careful.

  • Outlaw Programmer (cs) in reply to Fraggle My Rock
    Fraggle My Rock:
    I had a similar interview once, but it didn't go well ...

    interviewer: You're in a desert, walking along in the sand when all of a sudden you look down, me: What one? interviewer: What? me: What desert? interviewer: It doesn't make any difference what desert, it's completely hypothetical. me: But, how come I'd be there? interviewer: Maybe you're fed up. Maybe you want to be by yourself. Who knows? You look down and see a tortoise, Leon. It's crawling toward ...

    Needless to say, I didn't get the job, too many stupid questions.

    Heh, you know, I was SURE that I'd heard that before, but I was ready to believe I saw it on a tech blog or something. Most clever post thus far, for sure!

  • DaveAronson (cs) in reply to newfweiler
    newfweiler:
    Builder: Do you want me to build your house from the bottom up or from the top down?

    Client: From the bottom up of course!

    Builder: Dang it, now I have to tear it all down and start all over again.

    Don't you mean, tear it up?
  • PosterDude (unregistered)

    I would introduce a house builder monad parameterized over a housing structure type. I'd be sure is was left adjoint to the foundation functor.

  • DaveAronson (cs) in reply to Chad
    Chad:
    I think I want 3 references from you Mr. Employer. You know this is a 2 way street, right?
    All too many interviewees don't realize it's a two-way street. Much can be revealed that should send any sane candidate running away screaming if they hope to stay that way....
  • Rick (cs) in reply to Chad
    Chad:
    You know what? I think I want 3 references from you Mr. Employer. You know this is a 2 way street, right?

    I figure that meeting other programmers on the project during the interview process fulfills this requirement.

  • WhiskeyJack (cs) in reply to PosterDude
    PosterDude:
    I would introduce a house builder monad parameterized over a housing structure type. I'd be sure is was left adjoint to the foundation functor.

    Wow, you sound like some of the guys I work with.

  • Bottom (unregistered) in reply to newfweiler
    newfweiler:
    Builder: Do you want me to build your house from the bottom up or from the top down?

    Client: From the bottom up of course!

    Builder: Dang it, now I have to tear it all down and start all over again.

    Wouldn't you actually have to tear it up?
  • Ace (unregistered) in reply to Herr Killjoy
    Herr Killjoy:
    Okay, time to be a German grammar and spelling nazi. (Would there really be any other kind?)

    Austrian?

  • Jay (unregistered)

    I have a pathological dislike of giving references also. But surely the reason is obvious. There are plenty of people who are very good at bluffing their way through an interview. The employer hopes that by checking a reference, they might find out where you were lying to them.

    I have fond memories of hiring someone once who sounded great in the interview. He could talk about all the latest technologies and techniques. My only fear was that he would be upstaging

    This was always a tricky proposition because the candidate is unlikely to give you names of people who will say bad things about him. Unless he's a total idiot, in which case you don't want to hire him. This is even more pointless in America today because people are so afraid of lawsuits that few will say anything negative. My previous employer had a company policy that if anyone called them for a reference, they would "confirm dates of employment" and that was it.

  • Ralph (unregistered) in reply to Rick
    Rick:
    Chad:
    You know what? I think I want 3 references from you Mr. Employer. You know this is a 2 way street, right?

    I figure that meeting other programmers on the project during the interview process fulfills this requirement.

    Exactly. I had an interview this past Tuesday in which the VP of the company sat in on the entire time. Not only did he not know what he was talking about from a technical standpoint, he limited the IT Director's responses by talking too much. That sort of thing sends up red flags all over the place.

  • SomeCoder (unregistered) in reply to Jay
    Jay:
    I have a pathological dislike of giving references also. But surely the reason is obvious. There are plenty of people who are very good at bluffing their way through an interview. The employer hopes that by checking a reference, they might find out where you were lying to them.

    I have fond memories of hiring someone once who sounded great in the interview. He could talk about all the latest technologies and techniques. My only fear was that he would be upstaging

    This was always a tricky proposition because the candidate is unlikely to give you names of people who will say bad things about him. Unless he's a total idiot, in which case you don't want to hire him. This is even more pointless in America today because people are so afraid of lawsuits that few will say anything negative. My previous employer had a company policy that if anyone called them for a reference, they would "confirm dates of employment" and that was it.

    Sometimes it's not idiocy, it's ignorance.

    Post-bubble, I was looking for a job. I routinely gave the reference of my former team lead.

    BAD IDEA. I didn't know it but he was talking shit about me behind my back. I felt like I had done a good job at that company but apparently he didn't. I had a hard time finding work because of that and I only found out about it a year or so later after landing a job where I did NOT give references.

    I try not to give them or only give them if I really, really know the person and KNOW that they will give glowing ones.

Leave a comment on “Design Me A House”

Log In or post as a guest

Replying to comment #:

« Return to Article