Mastering the Art of the Technical Interview Cecilia Aragon, Lawrence Berkeley Lab & Univ. of Washington Erin Chapple, Microsoft Tamara Holden-Gurin, County of Alameda, California Ellen Spertus, Google & Mills College Taylor Van Vleet, YouTube • • • • • Understanding the company's perspective: Taylor Van Vleet, YouTube How to prepare for a technical interview: Cecilia Aragon, Lawrence Berkeley Labs & UW How to approach questions: Ellen Spertus, Google & Mills College Non-technical considerations: Tamara Gurin, County of Alameda, CA Mock interview: Erin Chapple, Microsoft, and Ellen Spertus Q&A Hiring from the Company’s Perspective • It’s a numbers game. – 1000 resumes : 100 phone screens : 50 interviews : 1 job offer (and not every offer is accepted!) • Hiring process is time and labor intensive. • Employees routinely paid referral bonuses. – Don’t underestimate the power of your social networks; it could help you or your friends in the future. • Companies hire to backfill from attrition as well as for new positions. – Many (larger) companies are always hiring. Hiring from the Recruiter’s Perspective • The main point of contact throughout the hiring process. • Feeding and scheduling the hiring pipeline. – – Run in conjunction with a Hiring Committee. Can often accommodate external deadlines. • Hiring process can be chaotic. – – – Challenging “N-Body” problem for recruiters. Don't be surprised by a snafu or two. Hiring process != life at the company. Hiring from the Interviewer's Perspective • Expect range of interviewers: – – Peers and senior. Intra-team vs. inter-team. • May do one several interviews a week. • Generally find interviewing to be one the more stressful day to day activities. – But most also want the candidate to succeed. • Interviewers should be polite; don’t take discourteous interviewers personally. Hiring from the Hiring Manager’s Perspective • Hiring managers usually represent a specific job opening. • They are in the best position to tell you the job's exact responsibilities and expectations. • You may encounter 0, 1 or more hiring managers in your interviews. – Depends if candidates are assigned to positions before or after job offers have been made. • Interview them as your future boss. Hiring from the Hiring Committee's Perspective • Managers, recruiters, senior technical staff. – Interviewers may only provide written feedback. • Delay between last interview and “the decision”. • May meet on demand or several times a week. – 15-30 min/candidate; dozens of candidates. • Hiring false positives is expensive for companies. – At least one strong endorsement from an interviewer is usually required before making an offer. • • • • Understanding the company's perspective: Taylor Van Vleet, YouTube How to prepare for a technical interview: Cecilia Aragon, Lawrence Berkeley Labs & UW How to approach questions: Ellen Spertus, Google & Mills College Non-technical considerations: Tamara Gurin, County of Alameda, CA Mock interview: Erin Chapple, Microsoft, and Ellen Spertus Q&A My Experience • Industry, government, and academia • Research labs • Software developer • Employee and Contractor • Founded own business • 1st and 2nd level manager • CEO • Have screened thousands of resumes and interviewed over a hundred people Long-Term Preparation • What material do you need to learn in class or on your own? • Know what kind of job you want • Informational interviews • Create a resume that looks like the job you want – Don’t just list all your skills – Tailor the resume for your dream job or a waypoint Medium-Term Preparation • Interview skills to develop • Material to review • Programming Interviews Exposed by John Mongan and Noah Suojanen – Programming problems – Puzzles – Knowledge-based questions, non-technical questions • Story: Data Structures TA Short-Term Preparation How to prepare for interview with a particular company? • Company website • Ask your friends about the company • Review your resume & bring copies with you • Arrive early Understanding the company's perspective: Taylor Van Vleet, YouTube How to prepare for a technical interview: Cecilia Aragon, Lawrence Berkeley Labs & UW How to approach questions: Ellen Spertus, Google & Mills College • Non-technical considerations: Tamara Gurin, County of Alameda, CA • Mock interview: Erin Chapple, Microsoft, and Ellen Spertus • Q&A Interviews are Artificial • • • • Time pressure Nerve-wracking No computer or reference material They test interview skills Categories of Questions • • • • • • Background Programming Puzzles Algorithms System design Product and industry ideas Background Be prepared to discuss: • Past projects (including lines of code) • Debugging • Leadership or teamwork experience • Resolving difficulties with co-workers Programming • White board – Practice on paper without an IDE – It's okay not to remember library routines • Interviewer wants to evaluate how you think – Think aloud – Balance confidence and humility • Question may be ambiguous – Make sure you understand – Ask questions Example “Find a substring within a given string.” • Make sure you understand problem. • Consider time, space, and other trade-offs. • Test your code. • If you don't know how to proceed • Work through an example. • Start simple, then optimize. • You're not expected to be perfect. Puzzles • Purpose is to test intelligence, logic, problem-solving. • Actually hit or miss. • Approaches • Study puzzle problems beforehand. • Think aloud. Algorithms • Problems – How would you sort/search/represent/solve ...? – What is the efficiency of this data structure/algorithm? • Approaches – Again, ask questions and consider trade-offs. – Review undergraduate algorithms and data structures. – Listen carefully to the problem. System Design • Types of question – Class structure – Scalability • Example: “Sort a million numbers.” • Use previous techniques, especially: – clarifying problem – asking what to optimize – discussing trade-offs Product and Industry Ideas • Sample questions – “How could one of our products be improved?” – “What could you contribute to our company?” – “What should we be doing?” • Approaches – Be aware of what the company does and the state of the industry. – Don't say their products are perfect. – Think ahead. Understanding the company's perspective: Taylor Van Vleet, YouTube How to prepare for a technical interview: Cecilia Aragon, Lawrence Berkeley Labs & UW How to approach questions: Ellen Spertus, Google and Mills College Non-technical considerations: Tamara Gurin, County of Alameda, CA • Mock interview (Erin Chapple, Microsoft, and Ellen Spertus) • Q&A Interview Starts Before the Interview • You are interviewing them, too! • Research the company • Who to ask questions? – Secretary or HR • Parking? • Dress code? • How long is the interview? – Hiring manager • Job description? • Size of the team? • Who am I interviewing with? How to dress • Makeup – as long as it makes you comfortable • A notch above the company’s dress code • Black suit - at a shorts & t-shirt place? Dealing with nerves • Learn as much as you can before the interview • Make yourself comfortable: water, comfortable shoes, time of the day, etc. • Give yourself ample time (arrive 15 minutes prior, plan for 1 hr extra time after) • If you don’t know the answer - slow down and think • Get good night of sleep before Interpersonal skills Scan the room – am I in tune? Confident and enthusiastic Eye contact, smile Be a team player Humor - in moderation General subjects (hobbies, interests) – in moderation Cultural fit Probing for a cultural fit can be implicit: Tell me about your project you are most proud of: why? what was your contribution? How would you document your design? What do you do when a customer calls you with <technical issue>? Different Cultures • Established software company: highly developed SDLC process, variety of tools, high-tech, sales and marketing dominate • Startup: high-intensity, minimum bureaucracy, lack of specialized job roles, often weak SDLC process, hightech, fun • Internal IT department: software development is not the company’s core competence, lack of specialized job roles, direct interaction with the customer, often bureaucracy Inappropriate Questions • • • • Age, race, pregnancy, etc. Do not offer more information than you have to Don’t be arrogant but don’t be apologetic Non-emotional, matter of fact response, address the concern, not the actual question: – Whether I plan to have children in the future is not really relevant to my career, I intend to …. – Whether I am pregnant or not is not really relevant to my career, I intend to ….. • DO NOTs in the technical interview: – Ask about salary or benefits – wait until you get an offer Understanding the company's perspective: Taylor Van Vleet, YouTube How to prepare for a technical interview: Cecilia Aragon, Lawrence Berkeley Labs & UW How to approach questions: Ellen Spertus, Google and Mills College Non-technical considerations: Tamara Gurin, County of Alameda, CA Mock interview: Erin Chapple, Microsoft, and Ellen Spertus • Q&A Understanding the company's perspective: Taylor Van Vleet, YouTube How to prepare for a technical interview: Cecilia Aragon, Lawrence Berkeley Labs & UW How to approach questions: Ellen Spertus, Google and Mills College Non-technical considerations: Tamara Gurin, County of Alameda, CA Mock interview: Erin Chapple, Microsoft, and Ellen Spertus Q&A