Inside the Microsoft Developer Job Interview, Part 1 of 3: What To Expect/What's Changed
Will Microsoft still really ask you how to move Mount Fuji? How much code (and what kind) do you really need to know? Find out in the first of this three-part series.
Microsoft stands alone with a notorious reputation for conducting the most difficult developer job interview in the industry. In this three-part series, you'll learn how to ace it with practical, hands-on advice from both Microsoft hiring managers and those who've been through the process.
For more in this series:
- Part 2: Tips & Advice on Preparing for and Answering Questions
- Part 3: Tips & Tricks for the Job Interview Itself
So you're good (or lucky) enough to have survived an initial screening and you've landed an interview visit for a Microsoft developer position. They're flying you out to Redmond and taking care of you in grand style. Then come the interviews.
The good news: You won't be asked why a manhole cover is round or how many golf balls it would take to fill up a 747 or how you would go about moving Mount Fuji.
The bad news: You may be competing against some of the top coding talent in the world, and only the very best fits will get to join the Microsoft dev team.
So how do you prepare for this infamous trial-by-fire interview process that's so notorious it has its own Wikipedia page?
In the first part of this three-part series, we'll show you what to expect -- and clue you into what's changed -- thanks to interviews with several developers who've been through this before as well as people at Microsoft conducting the interviews.
The Old Way: The Brainteaser Marathon
Curtis Stuehrenberg, a veteran manager in testing and quality assurance, has a unique perspective on the Microsoft process. He has extensive experience interviewing for many different positions dating back to 2000. It was 10 years later, though, interviewing for Senior Lead Tester and Test Architect positions, when things really heated up (he ultimately accepted an offer to join the Xbox Live Engagement team, but ended up not being hired due to other circumstances).
"During the past six months or so, I've had phone chats/screenings with Bing, XNA, Azure, SQL Server, OneApp, Windows Live, Xbox Live and Turn 10 studios," he said in a recent interview. "Out of those phone screenings, I came in for an interview cycle with Bing, XNA, OneApp, Turn 10 and Xbox Live."
Stuehrenberg said the interview process has improved since his first interview in 2000. Back then it was "sort of a marathon affair," he said, starting at 8 a.m. and lasting until at least 2 p.m. -- and longer if everyone liked you. He was once kept on-site until almost 7 p.m.
"The interviews started sounding exactly the same to you after a while," he said. "After five to 10 minutes of chit-chat about your resume, the interviewer would point to the whiteboard and ask you to either solve a brainteaser, write out code to solve a problem, solve a math problem or -- in the case of testers -- document how you would test something mundane like a stapler, vending machine or a calculator."
From all accounts, though, the infamous puzzle questions or brainteasers have mostly fallen into disuse. Fiona Fung, a Microsoft lead software design engineer, said as much in 2008 when she presented a webcast targeted at college students titled, "How to Survive the Technical lnterview." (Interestingly, she changed her presentation to use the word "succeed" instead of "survive" -- Microsoft trying to tone down its tough reputation, maybe?)
"Now we usually ask questions that are more technical, problem-solving, to walk you through the thought process," Fung said.
And it's not just Fung. A Microsoft recruiter and "JobsBlogger" said in 2008, "It's my feeling that the Web at large highly overstates the frequency of these types of questions. In the last year I think I've seen maybe five instances of interviewers asking anything remotely close to a puzzle question."
The decline is also confirmed by "Carl," the pseudonym we're using for a veteran Microsoft program manager. Carl, who's conducted "tons" of interviews for Microsoft, added that the notorious puzzle questions really were never that popular to start with. "While I've had them, puzzle questions were rare even when I was interviewed [many] years ago," he commented. "Since then, I haven't run into many people that use them. I prefer technical design questions [when I conduct interviews] ... and it seems that most 'Softies agree."
The New Way: Efficient Interviews Focused on Code
So if you're not going to be in 12-hour marathon sessions answering ridiculous questions, what can you expect?
Stuehrenberg found the process more streamlined and focused in his recent experience. "Microsoft is doing a pretty good job of making sure actual decision makers are a part of these initial interviews, so there's not a lot of fluff and time filling like there used to be. Since the people feeling the pain of this position not being filled are the ones interviewing you, chances are good they have some pretty specific questions to ask."
These specific questions usually involve tough coding problems. Stuehrenberg was eventually offered a straight management position, but he had some observations on coding culled from his many interviews.
For one thing, he said, "Microsoft does not hire people who can't code for FTE [full-time employee] positions, outside marketing and such."
For another: "People who can't code C# or C++ should not apply, honestly."
That contrasts somewhat with the official party line, at least as presented by Fung. The specific programming language you use, she said in her presentation, is generally not important. Rather, Microsoft is "hiring for potential," looking for "raw talent and intellectual horsepower" along with other traits such as confidence, ability to learn, passion and the ability to articulate, she said.
Code Is King, So Know Your Stuff
But most other sources say a heavy emphasis is put on "C-style" languages. Whether or not the language matters, expect the questions to be tough. Joe (a pseudonym) told us that "while other commercial software companies have implemented Microsoft-style on-site interviews that contain difficult algorithmic coding questions, Microsoft still has the toughest, most technical interview process from top to bottom."
A 2007 computer science graduate from Arizona State University, Joe may have the best perspective of anyone on how Microsoft interviews compare to others in the industry. He's interviewed on-site with most of the premier tech companies, including Adobe, Apple, Cisco, Google, IBM, Intel, PayPal and more. He even started his own interview-advice Web site, called "My Technical Interview Experience," where he wrote extensively about his Microsoft experience in particular -- so much so that his postings are featured on Microsoft's very own JobsBlog site.
Microsoft is unique in immediately getting down to the nitty-gritty technical stuff, he said. For example, while most companies are pretty casual with job candidates at career fairs, accepting resumes and asking a few basic questions, Microsoft might give you an immediate behavioral interview or even get right to the coding.
"At one career fair I was shown a function on a piece of paper and asked to explain its purpose," Joe said. "At another career fair I was asked to state what my favorite piece of software was and how I'd go about testing it." He said he was even asked technical questions during initial phone screenings and during on-site lunch interviews, which are usually informal, conversational affairs.
Joe also found a big difference in Microsoft's college campus interviews, where the company does extensive recruiting. "Microsoft on-campus interviews are extremely intense and technical as compared to most other commercial software companies," he said. "They were the only company that I interviewed with where the on-campus interview was actually a pretty close representation of the on-site interview."
The focus on technology and coding -- rather than puzzle questions or the traditional behavioral questions ("Tell me about a time when you had a conflict with a colleague and how you resolved it") -- is borne out by Stuehrenberg. "I have interviewed for positions up to senior manager, and coding or technology questions are always the core skill being questioned," he said. "You will always be asked to solve a coding problem using the whiteboard. Always."
Artashes (who declined to give his full name), concurs with Stuehrenberg and Joe about code being king. Artashes is an experienced team lead and senior software developer who interviewed with Microsoft Ireland earlier this year for a C++ developer position. "Mostly it was all about coding skills, knowledge of fundamental algorithms, being able to customize standard algorithms for not-so-standard problems, [and] distributed fault-tolerant systems," he told us.
Artashes's experience was somewhat different from the norm in that the entire process was conducted remotely. He first underwent a screening test in which Microsoft sent him two problems that he had to solve in less than two hours. Then he had two different one-hour phone interviews on different days, followed by a final interview conducted via Skype and webcams.
Joe had a more traditional on-site experience. "You walk into the interview, spend about five minutes talking about your resume and your experiences, and then you go straight into the technical questions," he said.
Carl, who most often interviews candidates for technical program manager positions, said he prefers behavioral questions and has only one standard technical question. "The technical question is to ask them what their favorite technology is and/or what they consider themselves to be an ‘expert' in and then drill in on their understanding," he said. "If they can answer my questions deeply, this shows passion about technology and the ability to learn something well, both of which are crucial for success at Microsoft."
What kinds of technical questions can you expect, and how can you best prepare? Check out Part 2 of this series now.