I’ve received a few mails from friends asking me to explain my template for answering a design question in further detail, so let’s use one of the cliche interview questions to walk through my approach of answering design questions in Product/Program manager interviews.
“How would you design a kitchen?” is tantamount to “How would you move Mt. Fuji?”. Several PM interviewers are known to have asked this (in fact I was asked this twice – once in my campus interviews long time ago and then during a full-day interview – again several years ago.) As an interviewee, the key is to know that the “question” really does not matter. The approach does and the same approach can be successfully applied to ansewering a technical question like – “How would you design an object model for an instant messaging client?”
Before we start answering the question, let me share as to why I believe this template and more importantly “writing/scribbling/drawing your answer on the whiteboard” works. There are three strategic advantages of using the whiteboard in answering any design questions. The whiteboard helps in:
1. Taking notes and not having to worry about remembering them: As you’ll see, the key in answering such questions to the interviewer’s satisfaction is to ensure that you ask about every requirement and constraint before starting to answer the question – more the merrier. Writing down all requirements on the whiteboard and having them available during later stage in the interview can be really helpful.
2. Keeping track of the content, structure and timeliness of your answer: I’m a visual thinker and visual cues have always helped me in communicating my ideas more succinctly as well as comprehensively. Using the whiteboard (as shown in the template) is likely to make the interviewer notice your structured approach. Having your approach and answers visually available on the whiteboard allows the interviewer to provide immediate iterative feedback to a particular section of your answer, as opposed to a comprehensive feedback at the end. Iterative approach is the key to a successful design and having all iterations available visually will help the interviewer see the progressive design.
3. Snapshot of your answer for the next interviewer: Typically most interview loops include four to six people interviewing a candidate on the same day. It is customary for an interviewer to share his/her feedback on the candidate to the next interviewer, so that the next interviewer can structure the interview accordingly. Having a visual snapshot of your entire interview/answer makes it easier for an interviewer to share it with the next interviewer and is helpful in writing interview feedback at a later point.
If the interviewer does not have a whiteboard, request to use paper, but never attempt to answer such questions just verbally. The cardinal sin in answering any design question is to start answering it without asking any questions to the interviewer. Ideally, you should spend at least five to seven minutes in understanding the question, the requirements, the primary and secondary users and the constraints. The high order bit is to ask the right questions in right order.
For instance, one way to start answering – “How would you design a kitchen?” would be as follows:
Candidate: What is a kitchen?
Interviewer: A kitchen is a place to cook, store and server food as well as to clean utensils.
Candidate: Why do we need to design a kitchen? Are we designing from scratch or re-designing an existing kitchen? What are the flaws in the existing kitchen, if we are re-designing it?
Interviewer: We are designing it from scratch.
Candidate: Where is the kitchen going to be located? In a home, in a restaurant, some place else?
Interviewer: In a train
Candidate: That’s great. Are we just redesigning the kitchen or the entire train is also being redesigned by someone else? Is this kitchen going to be designed for a particular train or is it going to be mass-produced?
Interviewer: Only the kitchen is being re-designed. The kitchen is primarily designed for one particular train, but can be re-used in other trains, if the design is successful.
Candidate: Why are we redesigning it? Is it a passenger train or a cargo train? How many passengers does the train transport? Typically which cities does the train connect. How long is the longest journey?
Interviewer: Current kitchen only allows storage of cooked meals. We now want the ability to cook snacks and make beverages. We also want more storage. The longest distance is 1200 miles from Washington to California.
You get the idea…The precision question-answers can continue, but the key is to ask as many questions as you can to get the following requirements and constraints in the first five-seven minutes of the conversation, described in the first column of the template:
- What needs to be designed?
- Who is it for?
- Why are we designing it?
- What are time and cost constraints?
- How are we expected to build it?
- Who else besides the primary uses are likely to use it?
- What are the core requirements in terms of functionality?
When I was first asked this question during a campus interview, I started describing high-tech futuristic solutions, with refrigerators connected with the web with auto-ordering system (for instance, milk, eggs, etc. will be automatically ordered from an online grocery service, based on weight sensors in the refrigerator). Although the answers were creative, they would have been incorrect (if the kitchen was not to be designed for the home).
Let’s be curious and ask the right questions!