I 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.
I only played half a game, but was again disappointed:
No more that four players?!?
No network/internet multi-player
Only supports 1024x768 screen resolution
No trading between turns
Lame 1990’s era graphics and animation
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!
Jeff 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.