Reginald Braithwaite's favorite interview question is an offbeat one: sketch out a software design to referee the game Monopoly.*
I think it's a valid design exercise which neatly skirts the puzzle question trap. But more importantly, it's fun.
Interviews are a terror for the interviewee. And they're stressful for the interviewer, too. A design excercise centered around a salt-of-the-earth game like Monopoly is a great way to put both parties at ease. Lots of people have played Monopoly at some point, so you have a nice, common base of familiarity to work with.
Anything is better than the "how would you write a routine to copy a file" interview question, but any company that asks an entertaining and useful interview question like this is already a winner in my book.
But what I love most about the Monopoly question is how it sucks me in. Maybe it's because I'm a gamer at heart, but my mind immediately starts racing through all the different possibilities. It's a little embarrassing to admit, but I'd love nothing more than to sit in a room with another programmer and hash this problem out.
Because it's fun.
And isn't programming supposed to be fun?
* Monopoly is in the process of permanently updating their game board. Was anyone really complaining that Monopoly wasn't grounded in modern locations and current property valuations? I hope this doesn't devolve into another "New Coke" fiasco. At least the classic edition of the game will still be available.
Posted by Jeff Atwood View blog reactions
« How Good an Estimator Are You? Part II How Good an Estimator are You? Part III »
> Lots of people have played Monopoly at some point, so you have a nice, common base of familiarity to work with.
And if you haven't played Monopoly? You're fired.
Jeff Atwood on July 7, 2006 02:14 AMIt's impossible to be fired if you were never hired. Narf.
Kenneth on July 7, 2006 06:10 AMWhat's wrong with Park Lane in the £400 slot?
(Being familar with the UK/London version.)
Richard on July 7, 2006 06:20 AM> And isn't programming supposed to be fun?
No. Who supposed it?
Otherwise it wouldn't be called *work*, it'd be called *fun*.
Although as an aside, my former employer was bought by a company that changed its name to Fun Technologies (London Stock Exchange Ticker: FUN).
So I technically did work for FUN.
Haacked on July 7, 2006 08:58 AM> > And isn't programming supposed to be fun?
> No. Who supposed it?
> Otherwise it wouldn't be called *work*, it'd be called *fun*.
Ummm... who called it *work*? I still marvel at the fact that people pay me to do stuff I'd do for free.
I took a year off work to write software. It wasn't work, and it was definitely fun.
Reg Braithwaite on July 7, 2006 09:19 AMAm I the only one who doesn't get what you mean by "referee" the game? :-( (Am I fired, too?)
> And if you haven't played Monopoly? You're fired.
Remind me never to work for you.
I skimmed through that article and I failed on the following "helper" question:
"If a player owns Baltic Avenue, can she add a house to it?"
My answer: Uh... sure.
This turns out to be wrong. But since it's been at least 15 years since I played Monopoly...
Who cares if you know how to play Monopoly? This is a nice example of a completely irrelevent interview question.
For the record, I just went through an interview where they asked a bunch of the logic puzzle type questions. I passed with flying colors but that doesn't mean I don't still think that interviewers are getting a little pompous about their interview process.
Jeremy on July 7, 2006 09:27 AMOff topic to the main point, but if you are a gamer, you need to visit the geek at http://www.boardgamegeek.com
Monopoly is an old warhorse, but there are much more enjoyable games these days. Great fun with the bonus of not being stuck in front of a computer for even *longer*.
Wesley Shephard on July 7, 2006 09:58 AMOn topic to the main point: I'm not sure that Monopoly is the best choice. Especially since most people grew up with the weird house rules. How many people know that when you land on a property and don't buy it, that it goes up for auction? How many people add the rule that you put various monies on Free Parking, thus making the game last twice as long as it should?
I'm not against the idea completely, but I would hate for it to become a pop quiz about a dusty board game instead of a test of design skills. For example, if they were to come up with a design that abstracted out the board spaces, card decks and property cards and could load it from a description file... I would be more impressed than if they remembered how the upgrade rules for hotels worked.
Wesley Shephard on July 7, 2006 10:03 AM> Who cares if you know how to play Monopoly?
I agree you do not need to know how to play. If you don't, I would use another question. It kind of defeats the whole purpose of the question if you aren't pretty confortable with the game.
And getting back to Steve's point, it really defeats the whol ething if you don't enjoy solving the problem!
Interviewer: Do you know how to play Monopoly?
Candidate: Ummm... I haven't played in fifteen years...
Interviewer: No sweat, are you familiar with queueing in line in a bank? ...
> I'm not sure that Monopoly is the best choice. Especially since most people grew up with the weird house rules.
JM2C, but that's why I like it. It isn't a trivia challenge, but (as mentioned in the post) an opportunity to discuss handling flexible requirements.
Candidate: ...and of course Free Parking HAS-A Money Amount.
Interviewer: some people play a more strict version of the game where there is no payoff for landing on free parking. How would you handle that?
> It's impossible to be fired if you were never hired
Well, then I'd hire them for the immediate purpose of firing them with extreme prejudice, Chuck Norris style.
Of course, I'm kidding. If the candidate isn't familiar with Monopoly, then you probably have to ask some boring, dry generic programming question, I suppose.
But what kind of childhood do people have where they never get to play Monopoly?
Jeff Atwood on July 7, 2006 11:35 AM My favorite generic question is usually "What was your worst project, and why?"
Other than that, I like to ask about random stuff on people's resume. It's good for getting people who are padding their resumes, and you can get the occasional good story out of the candidate, which I find helps judge them greatly.
Well naturally to accomodate house rules the exceptional candidate will describe a plugin system and a rules engine to allow for swapping in and out custom rules. ;)
My favorite question is, how well do you make coffee because I like mine with sugar and cream.
Haacked on July 7, 2006 02:41 PM> * Monopoly is in the process of permanently updating their game board.
> Was anyone really complaining that Monopoly wasn't grounded in modern locations
> and current property valuations?
Parker Brothers no longer owns the rights to Monopoly, only the images (it's an interesting legal story). A lot of entrepreneurs are now making theme monopolies, so I expect Parker Brothers wants to compete in that space.
Joe Fortier on July 10, 2006 09:10 AMI normally ask interviewees if they have a favourite board game or card game. I then ask them to model the game on the white-board. This levels the playing field as I have no idea what they are going to ask and that part of the interview almost becomes a working session. By the time we're done I know if I can spend time white-boarding and working with this person.
I've spent many interviews with candidates modelling chess, poker, draughts, trivial pursuit or bridge. If the game chosen is too simple then I extend the question to how you'd model the computer to play as an opponent, handle tournaments etc..
Reading the comments over at the monopoly interview question blog, people propose really great kinds of questions to ask that follow the same line of thinking. Even if you are not extremely familiar with monopoly, you ask questions and gather the requirements. That's the whole aim of the exercise. Not just to see if you can design it and implement it perfectly - but how you go about it.
`Josh on September 14, 2007 12:23 AMI get so lost amongst all the links and previous articles I delve into when reading a post I forget where I started and comment on something completely unrelated to the initial post.
Mathematics theory, quantum mechanics/computers, interview techniques, logic, OO design and concepts, patterns, UML, and now back to interview techniques where I'm posting a completely random comment that really should go in 'Classic Computer Science Puzzles' or no where at all.
Thanks Jeff - you help me learn =)
`Josh on September 14, 2007 12:40 AMI like the Monopoly interview discussion idea very much. I might try it the next time I conduct an interview.
I've actually given a lot of thought to how a Monopoly game might be programmed. I've been somewhat dissatisfied with the commercial versions of the game I've played. The very trickiest parts of the game come up during housing shortages and other auctions.
By the way, my favorite piece is the ship.
Zack on January 24, 2008 07:42 AMA friend and I seriously discussed (and actually started writing) bots that would play against each other in Clue, since Clue is a game where there's a precise algorithm in deciding how to make suggestions and being able to tell when your suspicion is correct. The only real choice the bot would have to make is in choosing which direction to move and which room to enter in which order.
Mike Hall on January 24, 2008 01:19 PMI just tried a new one last night.
http://www.amazon.com/exec/obidos/ASIN/B000SQN0JO
I only played half a game, but was again disappointed:
1. No more that four players?!?
2. No network/internet multi-player
3. Only supports 1024x768 screen resolution
4. No trading between turns
5. Lame 1990's era graphics and animation
6. No player or banker/narrator voices
After reconsidering, I think the very hardest part of a computer Monopoly game is the interface. There's just SO MUCH data that should be on the screen!
Zack on January 25, 2008 06:46 AMJeff said:
>But what kind of childhood do people have where they never get to play Monopoly?
Umm, how about one where the person didn't grow up in a western culture? Yes, I know it's been translated to many other languages, but that doesn't mean it's as prevalent as Monopoly is in US (or Western) culture.
However, I think it's an even better question when the interviewee _doesn't_ know the rules. That makes it much more like the real world where you don't come in knowing all of the rules (requirements) and have to actually ask questions and learn about the domain in order to get your work done. I purposely ask interviewees to design a program given somewhat vague requirements. If they make assumptions without checking first, that's a bad sign, because that means I wouldn't be able to trust them to do the right thing when they're writing code at their computer.
The hardest thing in software is getting the requirements right, not coding the right algorithm.
size monopoly bankacılık oyunu
hareketlile on February 24, 2008 10:44 AM| Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved. |