- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Hmmmm.
Just mess with the interviewer's head and explain that software doesn't have a physical existence separate from a computer or storage medium. Therefore drawing a house would be inappropriate. Instead the interviewer and interviewee must maintain the existence of the house design in each person's memory in order to really emulate the process.
Then build away!
Admin
Son of a gun!
I guess that's why I got the funny looks when I pulled out the suitcase full of Legos.
Admin
Your dime.
Been programming for 30+ years, but never for MSFT. No idea if that's a good thing or a bad one.
Personally the whole "brain-teasers" leave me flat. The purpose is to produce solid, dependable, stable applications. And anything that doesn't lead to this end result is a waste of effort. And I really don't see the connection between "brain-teasers" and programming.
IMO 99% of programming is having a good memory.
Shrug isn't that a complete waste of time? The whole point behind using a standard programming language in the interview process is to have a common frame of reference. Both the interviewer and the interviewee understand the syntax, limitations and libraries involved with this language.
Throwing some pseudo-language that you created into the mix doesn't appear, to me at least, as an optimal solution. Instead all it could do is drag the whole interview process out. Either the interview takes longer than it should, in order to explain the nuances of this new language, or time limitations will restrict the depth of the interview process.
shrug Most of the programming I've encountered has pretty much either been similar to stuff I've done before or at best an evolution of older technology or techniques. In the world of business programming there really ain't that much new under the sun.
IMO I'd rather have someone with a depth of experience and a good memory. And if the person isn't a complete sociopath, emotional flake or has passed the egomania phase of programming, which we've all had to deal with, then that's a total bonus.
Well you're in the minority then. Sorry.
Admin
Hmmmm.
I would answer "I was interviewing for the Senior Software Developer position but since I'm now interviewing for an Architect position ... I want a raise."
Admin
Me I'd point the guy at a geodesic dome. No interior walls are load-bearing so do whatever the hell you want.
Admin
The real WTF is the ads displayed by AdSense from Google - ads about housing architecture LOL
Admin
:D :D
Admin
My lands, why keep playing along if you've already decided the interview is over? If the interviewer is going to be rude about it, follow suit and just stop answering questions and/or walk out of the room.
Admin
Guys, i actually dont know what's the problem to design house? The interviewer asked some simple design skills like:
class Room { };
class Floor { Vector<Room*> rooms; public: bool MoveWall(int wallID); };
class House{ Vector<Floor*> floors;
};
or something like that. Its up to creation skills of candidate. Add some methods and discuss about that. That's the same as "how much cars in the US?" - interviewer dont ask for exactly value but he would like to see how the candidate thinks. nothing complex.
Admin
Actually ...
Not sure of how the rest of the world sees these riddle parts, but when I am interviewing people for positions on my team I always put in at least one of these things or even rather non-sensical tasks.
Actually having the balls to include "well, i don't see how this is relevant for the job, but..." along with some fun or creative answer are the top scorers for me.
The approach and reaction to the situation are waaay more important than the actual answer. Businesslife offers sufficient non-sensical and frustrating situations that you just have to go along with occasionally that including such a situation in an interview seems rather correct to me.
And considering that I still have never rued getting anyone on my Team so far I guess the approach is sound enough.
Just my two cents on the issue.
Admin
Hey, I had "draw me a house" this week too. And I did, no questions asked!
However the interviewer was concerned I didn't ask any questions.
And I had to explain that "the draw me a ..." business just doesn't work like that. First you show a sample of what you can do, and only then do you start discussing what someone wants.
Would you go to one of though street portrait drawers that had no sample pictures up? Do you order a couch in your choice of fabric, without fabric swatches or seeing what that style of couch may look like? Would you order custom Nike joggers (Nike ID) without any idea what the final product may be like? -> Did you mean when you order multiple pumps you didn't want the footwear to resemble a darlek?? No. You would not order or set out specs for these things without a clue as to the final outcome.
It's like a user interface mockup. It's a throw away "here what I'm thinking" to let your client know - a) your drawing skills: are you the be interviewee to be hired to draw houses, is it pointless given the lack of drawing skills to specify the species of grass they want drawn for the lawn b) Something that can then be discussed to meet the spec. Your client , the interviewer, is probably only dabbles in the drawn house industry and likely will be aided by a model to discuss. They may realise more specs from the mockup they they had not thought to include initially c) They may have only half read the "Draw-me-a-house" interview pattern and misunderstand what it demonstrates...
Admin
Reminds me of the time when my boss "corrected" my experience in OS-9 to OS/2 on my resume without asking me if that was a typo or if there really is a difference between the two systems.
For those who don't know:
OS/2 is a PC operating system that was developed by IBM and Microsoft, but then Microsoft decided to push Windows instead.
OS-9 was originally designed by Microware for the Motorola 6809 in the pre-MS-DOS days. Nowadays it's used as an embedded system for different architectures and is sold by Radisys.
Admin
One should definately ignore companies that ask for references. I've seen a major company go bankrupt because of a manager hired after our HR manager inquired all his references. After turning a small yearly profit into a multi million dollar loss, my collegue just Googled this chap's name and it turned out he already left a trail of bankrupt and devastated companies in the past. So much for references.....
Admin
Or may be they werer just entirely nuts (as well as not watching their typing) and were talking about a mark on some sort of drain (gutter tag).
Have a nice morning/day/evening - whenever you are
Admin
Send 1,2 across (2) Throw torch across bridge (<1) send 5,10 across (10) done in 12
Admin
I don't thing that bombarding the interviewer with more irrelevant questions would get the point accross. I get the feeling that this simpleton would delight in the idea that you are ingaged in this his inane exercise. In the end he'd just flip every question into "how can you be flexible enough to handle every option?"
Admin
No no no. Float the jumbo jet in a giant pool of mercury. Measure the change in depth of the pool. Depth times cross sectional area times mercury density - bingo.
And then replace all the aluminium parts of the aeroplane.
Admin
Admin
WHAT? You must be a code monkey, no kidding...
Software architects and good developers very much depend on different skills.
No real skill that requires intelligence depends 99% on good memory. That's what we have documentation, lexicons etc. for. I refuse to remember the APIs of 3000+ classes, when it is much more important to have really absorbed the paradigms of OO.
Unfortunately it is very often the other way round. Reminds me of the people that completed university physics exams by learning the complete book by heart without understanding anything, but perfectly replicating all derivations on request - often with better grades than the ones who tried to understand what they were doing... I would not count on the former to solve a new problem, though.
David V. Corbin (whose attitude you criticised in your post) has it spot-on.
Well, that might be part of the problem... ;o)
Admin
Obviously the the house problem was to see if the candidate could write modular software, and handle interconnection or reorganisation.
Rooms could be individual units, with wiring and plumbing that stack or be combined with each other to make larger rooms. Then you wrap it in a nice pleasing skin (like a UI?).
Kitchen inherits from room, has sink, cooker which are Appliances.
(This would of course be a bitch to make unless it were made of something like lego. Though I've just googled and modular houses exist! Damn)
I talk shit [in interviews]. That's all they've ever seemed to want. Maybe I'll be a manager some day.
Admin
Admin
It's a bit strange but a WTF? Shrug.
Clue 1: Answers to hypothetical questions are hypothetical. Hypothetical answers are not constrained by normal physical, legal, and economic limits; they are constrained only by the terms of the hypothetical question and the capabilities of the answering party. This hypothetical question did not set any real constraints beyond the most basic: design me a house. Ergo the answering party is free to set the terms at will. You could correctly answer with, "I'm going to design you a bounce house. It will be inflatable, economical, and fun! Most importantly it can be expanded with duct tape and more bounce houses, and can be used most anywhere so long as you avoid sharp pointy protrusions and women with high heels."
Clue 2: A joke, in the context of a job interview, can be a very serious answer.
Admin
shrug and "brain-teasers" will identify those people for you? So someone who is good at what are effectively cocktail party games is who you want developing applications for you?
Well then. Bring on the Pictionary!
My negative view about these "brain-teasers" is that they're irritating, useless and frankly don't really show whether or not someone really is flexible or capable of thinking out of the box. All it offers is the opportunity for the interviewer to annoy the hell out of the interviewee and to waste some more time in the interview process.
shrug I code. I architect. I really can't say I care overly much which. It's all enjoyable to me.
Frankly there really isn't much new under the sun when it comes to business programming.
Really? I have been in the business for a few decades so I do know the difference.
Here's your choice:
A. Architect, very creative but lousy memory
B. Architect, not so creative but perfect memory
IMO "B" will win out every time. Why? Because a creative application or system is nice, but users want stability more than anything else and, IMO of course, someone with a perfect memory is less likely to create a monstrous pile of rubbish.
Yes we do. But if you can't keep this stuff in memory then what good are you? Particularly if you're having to deal with multiple systems in widely differing languages all of which have their own unique syntax and, more importantly, their own particular set of libraries.
Consider concatenating a string. Every damn language has its own particular style of concatenating a string. Every stupid SQL engine likewise. It's a silly example but if you are having to deal with legacy systems along with a host of other established systems in your application then being able to remember the specifics does frankly help.
'Cause remembering the paradigms of OO are so hard?
No offense but remembering the paradigms of OO isn't all that hard.
Now you're introducing a strawman.
shrug I disagree
Not really. They simply bore me. When/if I encounter them in an interview I pretty much lose interest at that point. If they want someone experienced who can get the job done then they can stop fucking around with idiotic "brain-teasers" and actually present the problems they want to hire me to solve.
Seriously. You'd rather hire someone who gives reasonable answer for the "Rope Bridge" nonsense rather than someone who can jump right in on discussing the problem at hand and offer an intelligent discourse on what the issues are?
shrug good luck with that.
Admin
That's just the cost of doing business as a developer.
Sure I did the same thing. Programmed VB, ADO and a pile of other things. Hell I started programming on a TRS-80 Model I, if that matters at all, and had to change to programming RPG went I got a job coding IBM midrange.
Sure there's a lot of new technology out there. But a lot of it is an evolution of previously existing technology as well.
And tell me that an excellent memory isn't helpful in learning new tech. You're not are you?
As for the rest. shrug employers hire you for what you can do now, not what you can do in a few years. Otherwise we could go into an interview, answer the silly-ass "Rope Bridge" nonsense and get a job right then and there. Because it wouldn't matter that we had no knowledge of the tech needed in the job, we can learn pretty damn quickly eh?
It's nice to dream, but reality is somewhat different.
Admin
Admin
http://www.phdcomics.com/comics/archive.php?comicid=993
Admin
If ever asked to design a house in an interview, I would tell the interviewer that I am an Application Developer, not an architect. Then I'd tell him if he wanted me to design a house, I'd subcontract the work out to experts in a third world country.
Admin
I was one of those who got our first copy of OS-9 from the Rogue game diskette, before the OS was officially released. Man, those were happy days! I should have moved up to the 68xxx series instead of going with Intel. But of course the university, and later, the businesses with programmer positions were all using Intel/Microsoft. And my C++ was waved aside for RAD using VB4. I haven't been back to C++ since.
I can't say that I would include OS-9 experience on a resume, though. Too long ago, and too obscure.
Admin
Admin
Google is only useful if you can figure out or remember the specific keywords that'll actually return a useful response. Or at least one that isn't completely overwhelmed by useless nonsense.
Admin
However, there are lots of shops where general knowledge is important. It's not so much that you need to know the answers. It's that you need to know the questions.
Of course, there's a lot of money to be made off of people who've never read The Mythical Man-Month and think "we need 10 .NET developers with LibFoo 1.3.98 experience RIGHT NOW!" The project is doomed, but if you can convince the clueless manager that he needs to hire you as a contractor, you'll do fine.
Just make sure you get paid up-front.
Admin
The truly parallel method.
1 - Carry 10 across on his back (1) send 1 back (1) 1 - Carry 5 across on his back (1) send 1 back (1) 1 - Carry 2 across on his back (1) done! (in 5)
Admin
Hmmm is 2 female and Cute, cross with 1 & 2, torch bridge...
Admin
Admin
Unfortunately, very few programmers code directly to an AST.
Even more unfortunately, Rational Rose is very far indeed from being an AST.
Admin
I'd say that it encapsulates the folly of using house-building as a metaphor for software beautifully. Not that it's a bad metaphor; simply that it's a perfect real-world example of how "only then do you start discussing what someone wants" fails miserably.
Mind you, bringing that up at an interview would probably elicit nothing but blank stares. Human Resources people are such uninquisitive folk that I'd be surprised if they even read a book. Which is a shame, because they have almost no other visible skills, other than decent dress-sense and a nice set of pearly whites.
Admin
So, you work for INRIA, Microsoft Research or Jane Street? :)
Admin
If they wanted something modular, then they shouldn't be designing a house - houses aren't modular (unless they're trailers).
By the way, reconfiguring plumbing without getting the results approved (every time) could land you in jail - connect waste to supply and you can poison a whole neighborhood.
Heh, nice. Looks like a good read.
Admin
I call BS on that. Waste systems are usually unpressurized, and usually incompatible (pipe diameter and fitting-wise with supply lines). It'd take an idiot to confuse them.
I presume that in most places they are not done like in the US. In the US sewer piping is often done to supply-standards (could in principle withstand supply pressures, if you'd plug everything), but in e.g. Poland, the waste piping is not designed to be pressurized, and most seals would probably leak like hell.
If I were to directly attach a freshwater pipe to a waste pipe, all I'd get, in almost any place on the planet, is a huge waste of fresh water, and that's it. No cross-contamination due to relatively fast flow.
Cheers, Kuba
Admin
Best comment ever
Admin
I had a previous boss use the house metaphor, I never understood the use a this. I know 100 times more about building software than construction, and I do my own plumbing and electrical. Metaphors are useful when they put the unfamiliar in familiar terms, and this does the exact opposite.
A useful metaphor would be if I hired a carpenter to work on my house, and when I said I couldn't understand them, they explained as "It's like a C++ program..."
Admin
And programming skills are not everything, moreover. The times of monad wizards hacking together whole systems on their own is over - the new employee has to fit in your team structure and be able to work autonomously as well as closely with others and communicate the things he has accomplished.
Please show me where I said that the "Rope Bridge" is a good assessment tool? But assessing skills is more than asking for technical knowledge in a special field - you can do that additionally, yes, but it does not show you what kind of brain you are going to hire ;o)Admin
"Um, I'll need 30% of the construction costs up front..." Holy cow, I wish software was like that!
Admin
While I follow that many people give crappy interviews, and your examples demonstrate some of this, "design me a house" (or, better, "let's design a house") is actually a fairly useful interview question.
Brain teasers like "arrange 7 matches to form 8 equilateral triangles" tell you nothing about a candidate, but going through the preliminary design of something you both understand (a house, a car, a bridge, etc.) does.
Similarly, "how would you determine how much a 747 weighs" is a crappy question, while "how much would you guess a 747 weighs?" is a useful one (demonstrates back-of-envelope estimation skills, which are useful on the job.) The variant I use is "how many chairs do you suppose there are in San Jose?" (hint, if needed: "there are about 1 million people") or "how much do we think this office building weighs?"
Joel (you DO read Joel, right?! #1 interview question for coders: "so, what do you think about Joel?" :) does a good bit on this subject, and how to do it right and how to screw it up. Search "guerilla interviewing guide."
Anyway, put me down as a fan of "interview questions like that", but only if done well.
Admin
Clearly you should have just given him a HouseBuilderFactory.
Admin
are there any leans against your property?
It's "liens". No job for you.
Admin
Admin
Don't call people losers, especially when they aren't clearly losers. It's not nice.
I noticed that others also didn't instantly nail the source of the quote, though it sounded familiar. And Blade Runner is one of my favourite movies, ever.
Only losers call other people losers. Trix are for kids.
Admin
Septic field. Pssh. First off, I would tell him that it's going to cost about 700,000 Dollars after buying the land and that he won't be able to build in a tornado/hurricane/earthquake area because as a German I don't believe in the garden shacks Americans call houses and building codes in such areas might forbid a German-style house. The house would neccessarily have...
Of course, that only applies if he doesn't want a zero-emission home. There's also a lot of further neccessary questions:
Just because it's a brain teaser question doesn't mean you don't have to apply best practices and carefully plan everything. If he doesn't want to think about that he shouldn't build a house.
On the other hand, applying software design patterns might be fun, too.
"Following an agile process, we'll build the living room first and then add more rooms as neccessary." "You don't get a house per se, but a house factory. Whenever you feel the need to go home, you call the factory and request them to contruct a house instance. Once you leave your property, the house will go out of scope and be destroyed. I advise against storing personal belongings in your house." "A persistence framework will be added in a later release and require a database server and offsite storage for copies of your belongings. References to these copies will be created when your new house instance is delivered by the factory." "We will construct three identical houses; one for development, one for deployment testing and one for production use. Please make sure your lot is big enough for all three of them." "Following the Singleton pattern, we will construct one house which will be shared by the entire town." "The house will be made available after a three-month testing period. However, if construction starts late in the year, we might skip testing and part of the implementation in order to deliver in time for the Christmas rush." "By entering your house you agree to the EULA you will find in the living room." "THIS BUILDING IS PROVIDED 'AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE."
Admin
...to get you to realize that it's supposed to be a dog house, and that all these assumptions for a house for a human are just assumptions?
I've gotten that one, at any rate, and if I'm ever asked to design a house for an interview, I'll start by asking "is this the one where the punchline is 'it's a dog house?'"
See also some of the famous Microsoft questions, like "why are manhole covers round?"