Before applying to Microsoft I had read every blog post I could find by past interns and intern candidates. Since I know I’m not alone I want to leave my own experience. The summery of my story is next summer I will be interning at Microsoft working in on Windows. The internship does not start for another 4 months but I am already very excited. This post should be long so if your busy or lazy you might want to read at a better time. Please do not stay awake past your bedtime reading everything you can about the internship and interviews; I did a few times and frequently regretted it in the next morning.
The next two cover the process before the Redmond interviews which in turn is the third section.
Applying at Campus Career Fair
You can apply either online or in person if Microsoft sends recruiters to your campus. If you get the chance to apply in-person you should jump on it. Microsoft’s recruiters were real engineers and a lot of fun to talk to. A few months ago I wrote about my application. One thing I should add is the on campus recruiters perform a resume screen before sending the collected resumes to Microsoft. At the Q&A session the recruiters held after the career fair they warned about dropping off resumes without chatting.
Reading in between the lines I think this means the recruiters were tasked with making recommendations. Without talking to you they can only go by your resume which is no better than submitting online.
On campus interview, aka first round interview
I also wrote a post on my first round interview. Overall at this stage I would worry about whiteboard coding and have a project you can talk passionately about. Also take the time to review as many problems online as you can. Microsoft says they want candidates passionate about tech and I do not think those are not fluff words. This does mean you need to worry about signalling your passion. Getting excited and animated is easy for me but I know many programmers are a lot more reserved. You might need to practice by talking with yourself. One extra warning: check your house for quiet roommates before entering into long & loud debates with yourself over technique subjects. Nothing is quite as awkward as discussing the merits of C++’s exception handling then turning a corner and running into your roommate.
After the first round interview I got an email of congratulations. About two weeks later someone contacted me with the interview date and arranged travel to Redmond.
Redmond Interviews, aka second round interviews
Finding out who I was interviewing with
Two days before I was to leave a third person emailed telling me who I would be interviewing with. Their email’s exact text was “Windows Windows Live”. Now if you are a non-Microsoft employee this means two exact things: 1, they made a typo and wrote Windows twice, and 2, I was interviewing with Windows Live. I later verified this conclusion with other interns. Since I was gunning for low level work to complement my prior experience I was disappointed.
Yet I was wrong. It turns out Windows Windows Live is Microspeak, jargon specific to Microsoft. Since intern candidates are by definition not working at Microsoft you can imagine why we would get confused by this Microspeak. What Windows Windows Live is supposed to mean is Windows & Windows Live, which is a division of Microsoft.
It may seem like a minor issue but for the few hours it took to discover the misunderstanding my enthusiasm was killed. I was still happy with the chance to interview but working outside of my existing interests wasn’t very appealing.
Flying to Seattle for the Interviews
Below is a photo I took the night I flew out. There is nothing special about the photo, this is Calgary’s natural state. By this time of year the concept of a room temperture outside is foreign. The snow bleaches the landscape a cold white. The occasional chinook may melt the snow but this serves only as torture by simulating the beginning of winter, again.
Now here it is before the flight, at 18:00. We do not get very much sun during winter.
And for comparison here is Seattle before my flight home:
When I landed in Seattle I could smell the air, and it was sweet. I thought I might have been smelling spilled oil or other plane liquids but the sweet smell carried on into the city!
It did rain over my stay but that was not enough to dampen my enthusiasm to Seattle. Stepping off the plane was like time travelling five months forward to a none frozen Calgary.
Both my way there and my way back was quite painless. Microsoft arranged for a towncar to pick me up at the airport and even provided a Taxi voucher for the way back to the airport from the hotel. It was only back in Calgary that I had to arrange my own transportation.
The reimbursement for my travel and food expensive was also painless. I have already received and cashed the check. They even provided an option to reimburse in Canadian dollars.
Microsoft booked me at the Westin in Bellevue. I must say the hotel was the nicest I’ve ever stayed in. For a bit I got worried Microsoft had mistaken me for a full time candidate since it was that nice.
Morning of the Interview
At point I had yet to meet a Microsoft employee. Everyone from the towncar driver to the hotel knew I was coming. It almost felt like Microsoft was masterminding everything, always in control but never appearing. Since I don’t travel often this made the trip much more relaxing.
12:00 was our departure time so I went down to the lobby at 11:30 hoping to meet some other candidates. At first there was just three of us. One New Yorker and an Ontarian. The New Yorker was interviewing with the Office division and the Ontarian with Servers & Tools. As more intern candidates piled into the lobby’s couches we found out that the Ontarian was vastly outnumbered. Everyone else was split between Windows & Windows Live and Office. All the candidates were Software Development Engineer candidates.
When 12:00 hit we all split up into buses based on interviewing division. The trip to Microsoft’s Redmond campus did not take long and we were soon at the main Windows & Windows Live building. After checking in and receiving name tags we moved to a large board room. This board room acted as our home base. In between interviews we all returned and had ~15 minutes to eat, chat, and rest up for the next interview.
Interviewing at Microsoft
The whole interview process was planned and scheduled. And when I say scheduled I mean we received a schedule:
After launch at 13:00 the interviews started. This was both the most interesting portion of the experience and the portion I can least talk about. Prior I had read most of Glassdoor’s interview reports but even so all the questions I was asked were new to me. I liked it that way since I could puzzle through the problems and ask real questions. One interesting fact was that all candidates were asked questions from the same question pool. Thus after the interviews we all chatted about the questions.
For the first interview my interviewer was from Visual Studios.To my despair I missed the solution by a mile. Here I’ve gone and flown to another country and I’m grasping at straws on the first question. I was humbled and just a bit depressed. To my luck this question was a tricky problem for most people. One of the Office candidates told me the official answer and I think I might have been close without realizing it.
The second interview went better but not great. My interviewer was from the Internet Explorer team and picked a question from outside my area of expertise and had the grace to tell me so. This made me feel better about not completing the entire question. My implementation was going fine until it wasn’t. One of the three cases I needed to handle required me to break a critical assumption I made at the top of my implementation. This was after taking a decent quantity of time to come up with my algorithm. Still I am proud of how far I did get even if I did not very far at all.
Interview number three was the most awesome. I had an interviewer from the Windows Kernel! He even had a massive unix hacker beard! To be more specific he worked on the filesystem. His question style was to look over your resume, pick a term, then ask you “What is <term>?”. If you were not excepting this, like I wasn’t, then you’ll be taken aback. Still he was a lot of fun to talk to and had no problem with me referring back to linux for the technical questions.
My final and forth interviewer was from Sustained Engineering and will be my boss this summer. This interview went the smoothest of all. I found the “perfect” solution and implemented it with only one bug resulting from my being clever. In hindsight a bug due to over cleverness is the exact *wrong* thing to do when your interviewer has to deal with the resulting codebase. My clever trick was to use bit manipulation to avoid a conditional branch which I then not mixed up with negation in two’s complement.
In every interview I had a real chance to ask questions and got honest answers. They even stopped my problem solving to leave time for questions. The interviews themselves were held in various unused offices. The offices had two chairs, a desk, and one or more whiteboards. The occupied offices I walked past were well outfitted for programming. As a bonus there was even a pile of old unused computer parts and monitors sitting in the larger corridor. I can only assume that this pile bodes well for a non-authoritarian office environment.
On a fun note one of the interviewers used a prototype Surface Pro, this was a few days after the official announcement. I only noticed it when he closed the kickstand and I got a glimpse of the distinctive “128GB” labelling. He said the battery worked very well for his needs. Note: I’m not sure if this information counts as confidential or marketing.
After the interviews we piled back onto buses and went to a Microsoft showroom/waiting room. There was a Microsoft Pixelsense, Microsoft Xboxes, Microsoft Phones, and Microsoft snacks. To be honest I don’t think Microsoft designed the snacks; but they did provide them. There was pop in a mini ridge and bowls of candy everywhere. While waiting for the results we played tower defence on the Pixelsense, snacked, or chatted. Some candidates browsed wikipedia for sights to visit the next day.
About an hour later the first candidate was given his results. He had not been accepted. Soon after I was called away.
Imagine my excitement when the recruiter said “Congratulations!”. Yup, I managed to get the internship despite not solving all the questions and failing the first interview.
Since multiple recruiters were delivering the news in parallel when I got back to the waiting room only three candidates were left. Me and another guy took an SUV back to the Westin and I went off on my own to find a McDonalds. Other candidates, successful or not, went off to max their food budget. I would have went with them but I wanted to skype my parents.
Microsoft said not to disclose the exact details. What I will say is that it is high, as in rivalling the introductory full time offer territory. The offer should be equivalent or superior to Google’s. The base monthly salary should be similar but Microsoft subsidizes housing. I also checked with a friend who got a SDET internship that the offer does not discriminate between development and testing. I do not know the Project Manager Intern’s offer was different.
One thing to note is the contract contains a non-compete clause: I cannot work on any software that competes with any of Microsoft’s products for six months after the internship. In a nice aspect the contract does allow personal projects provided they are unrelated to my Microsoft work.
I am very excited for this summer.
That Microsoft has no problem with my Linux heavy experience is impressive. I hope this means Microsoft has changed and is not the insular monolith I used to hear about. One of the candidates with an offer even wore his Google backpack from his last summer’s internship for the interview, and no chairs were thrown at him!
Update 2013-10: If you are still interested please consider reading through the overview of my internship.
Wow, what a story. This is one of the few blogs I read from beginning to end. Thanks for the insight on how the intern applications work. I’m a first year Computer Science and Mathematics double major at UofT, and I should be getting my first work term winter 2014. I’m a first year, so my first work term starts second year. I’ve worked of personal projects previously, however, by reading about you, I am no where near as experienced aha. If you don’t mind me asking, what year are you in university? I’m doing a more comprehensive, theory based CS degree to correlate to my math degree. Will this affect my chances of getting an internship? Also, I would love to hear some things I can do to prepare myself for a (possible) future interviews. Again, sweet article and thanks a lot.
Hey Jathu. I’m in third year so I have three semesters and one summer left. I started working on the openprinting stuff the December of my first year, which is how I got the GSoC(Google Summer of Code) spot. I learned a ton that summer and last summer.
Theory heavy CS should not be a problem at all for interviewing. Still I am pretty sure I would not have gotten even the first interview without the experience I gained from personal and GSoC projects. I also have some friends without personal projects but with strong course work who I convinced to apply but did not get an interview.
Are you in a co-op based cs program? I know it’s nearly impossible to be get a Microsoft internship when you’re a first year. I think, I have time to build up some experience before my 3rd & 4th year. Your blog really gave a good insight on what to expect, it is much more “difficult” than I thought it would be. Thanks a lot.
Nope, no Co-Op for me. I’m in a regular 4 year program since I want to graduate and get working in industry ASAP. I think my university does have co-op programs but I never considered them since you can just do work over the summer.
Getting in as a first year would be hard. I know one exceptional guy who got a Google internship after his first year. He had been contributing to Clang over high school and did Google Summer of Code the summer before university.
Oh, UofT CS co-op program is 4 years as well, we just don’t have any time off aha. Your blog post made me realize I really need to join some projects and expand my experience. Again, thanks a lot.
Hey! It’s a nice informative post ! Esp because I will be flying out to Seattle in a few days. I had a few questions .
1. Were there PM intern candidates too with you? were they having different interview panels?
2. Just curious, what was the intake rate? I mean , you got to know how many candidates were offered that day ? (out of interviewed)
3. What did you do the day after interview ? Any sightseeing tips ?:)
I’m glad you found it useful.
1. Everyone was a SDE candidate, I think PM batches are separate.
2. I have no idea. I had a chance to talk with a few people. I spent a lot of time talking with the recruiter so once I got back to the waiting room most people had been given their results. Poor recruiter, I feel bad looking back at how much time I got. Most others said they took the offer right away,
3. Sorry I am a very boring person. I waited until in my room until check out then took a taxi to the airport where I waited around for ~4 hours before my flight.
Thanks for your quick reply! Once you are selected, what is the hurry to do sight seeing,after all, you will be living there:)
I will also be going out in a few days to Microsoft HQ– are you by any chance having your interview on the 11th?
Also, to the OP, thanks for the information. I have the SDE interview at Redmond in a few days as well. Will it be a problem that I have very little knowledge of C++, specifically, but have a pretty strong knowledge of Java (and OOP in general)? I’d imagine they don’t care too much about the language, rather the thinking right? I’m just worried I’ll get C++ specific questions during the interviews.
If you don’t list C++ on your resume then I cannot think why they would ask unless you mention it.
None of the technical questions they asked were lagnuage specific. I think most were better suited to a language with real pointers but they knew I prefered C. They have a pool of questions and may be selecting based on your preference.
Correction to my post: I might not be working on the sustained engineering team. It turns out the dev from sustained engineering was only handling my contact. Microsoft has yet to place me somewhere within windows.
Hey Toxin sorry didn’t see your message. And danieru, the tips came in handy, my interview schdule was similar (though I received results late in night via email). After getting the offer,I did a little sightseeing the next day before my flight (Pike’s marke, Harbour crusie). Excited to start the internship!
Wow what a great blog! I gave me a good insight of the process. Congratulation by the way for the internship.
Do you mind if i ask you questions regarding first stage interview. Having english as my second language, do you think it will be an obstacle for me during the interview? I have just been shortlisted and am going to have interview soon. I will be giving interview through skype for 30 mins. What questions would I expect in the interview? is it going to be mainly techincal or general questions? You mentioned open-ended questions, what are they like?
Appreciate your reply.
Again congratulation! I so love having this opportunity.
I think the interviewers should be very forgiving about communication issues. From your post alone you sound fluent so it may not even become an issue.
On a 30 minute phone interview the interviewer is trying to decide if you have a chance at passing an interview at redmond. If you are interviewing for a non-american internship they might have a different method. My screening interview focused on technical questions. Others I talked to said their interviews were only general.
My guess is each interviewer has their own method.
The open ended questions I got asked were all from one interviewer and followed the form “What is X?”. Where X was a term from my resume. For example he asked “What is Android?”so I said “Android is a linux distro only a non-traditional userland. So instance bionic instead of glibc and no X server.”. That interviewer asked most people similar questions but I do not know what he was looking for. He might have been looking to see how I think about things.
Good luck on the interview! Please comment again to tell us how it went.
Great post, it worked out almost exactly the same for me. I actually interviewed around the same time as you haha. I got the job in Servers and Tools. Congratulations!
Great blog! and congratulations for the internship. I wanted to ask you about your resume when you applied for the internship. Did your resume had a some work experience and some certifications that helped you get an on campus interview. I am trying to build my resume with certifications, so any suggestions will be appreciated. I will be applying for network engineering internship next year.
Thank you Gary! I’m three days from the internship’s end and it is nice to see others where I was a year ago. Remember no matter what, do apply, to fail is to have tried you should always take pride in trying.
I love talking about this kind of thing so I hope you’ll let me indulge myself.
First we must focus our scope on a specific type of programmers recruitment by defining their “perfect” programmer. These are the programmers the big tech companies are targeting. These programmers are “passionate” about tech, enjoy programming, and know how to ship software.
Now it is not only big tech companies targeting these programmers, startups and “cooler” small tech companies also target them.
So when developing your resume always keep in mind what the reader is trying to find. You want to signal that you are the type of programmer they want. Much of this has little to do with the resume itself and instead depends on you and your experience. Thus talking about resumes might come across as under handed.
Targeting your resume for what they want means training yourself into the best programmer you can be.
This is all a long tour for me to admit my true intention: resume advice is inseparable from meta programmer advice. I should also appologise, I find myself writing half a blog post which may not be what you want.
Back on track we must consider how to signal ourselves as a “cool” programmer. The timeless advice still holds: contribute to open source, almost any open source will do so find one you like. Personal projects work too but may lack the real end users open source projects provide. The important part in both cases is that you ship the software and make it useable.
Let me repeat: *ship*. Partial completion means you missed vital experience with real users and may imply you do not have the personal drive to get things done. I have tons of dead projects, but those are worthless compared to even the smallest project I did ship to users.
School projects also do not count for much. In fact they may send the wrong signal. Include them if your resume would be half blank but give massive preference to out of school projects.
I am going to plug open source again: an existing open source project provides real users, real features, and real challenges. I suggest finding some software you like and finding the smallest contribute you can make, then building from there.
My resume when I applied for the intenship was packed with experience. I know others with more experience but in general I think most people hired with much less. In fact as of right now the resume linked from my site’s header was my resume when I applied. In the next little bit I plan on redoing it.
Certifications are not valued by the tech companies. If anything they take up space on your resume which should be filled with experience and are thus negative valued.
And on a final note: consider adding whitespace to your resume and leaving open space. If the rest of the resume is heavy hitting then makes you looked like a concentrated heavy hitter.
I will definitely look into open source projects. I am almost done with CCNA, and Juniper JNCIA so i might as well take the certification. Thanks for the information.
I would like to know about your experience at Microsoft.
Sorry Gary you did mention targeting the network engineer internship yet I went off and assumed you meant an internship working on the networking stack. Once you mentioned the CCNA that reminded me there are jobs other than programming, network engineer being one of them.
For networking engineer or IT stuff I must plead ignorance. I do not have a clue about what they would be looking for network engineers.
Since I missed it in my last replay I should point to my internship posts: https://danieru.com/category/work/microsoft/
Very informative post!
What was the dress code for the interview? Business professional?
Good question. Hard to define it with a name but I wore jeans and a nice shirt. No one was wearing a suit that I remember.
Cool.. Thanks for the reply!
i am a first year CS student from india
can you tell me how i can apply for internship at microsoft and what do they look in a candidate for software development?
Hello Rajat, You can apply through microsoft’s university recruiting site. In general I think they are looking for good programmers who like technology and programming.
Thank you for sharing your experience with us. The post is great!
Could you please let me know the exact date when you checked in at Microsoft Redmond and the date when you started the internship in summer 2013?
Thank you in advance!
Hello Xin, I interviewed in November and started in May. Is there a perticular reason you are curious about the exact dates?
Thank you for your response! My son just interviewed at Redmond and got an offer last Friday for summer 2015. We are now planning a family travel before the internship. We want to book flights early. I happened to see your post, this is why I asked you the question. Could you please recall the exact 1st date(checking in) by checking your files or notes related to the internship?
Thank you in advance!
i am in first year engineering(electronics and telecommunication) from india. Can i intern at microsoft after i am done with my first year? If yes what all is to be done? What is the criteria? Do i need to score good in my college exams, does it really matter? Or if i am good at as to how to work as an intern is more than enough? After a long gotta read a good article by u..Thanks for that!
This is a query about Microsoft summer internship. What is the usual time frame between university campus internship (CS Sophomore) and a reply ( affirmative or otherwise) from Microsoft campus recruiter? It has been two weeks since my Son had a campus interview. Should he write to the recruiter to check the application status or will that come across as being too pushy
Well I imagine the reply time is faster than the 3 months it took for me to reply! I would expect it to take more than 2 weeks, hold tight.
My daughter interviewed 1 week ago, and haven’t heard anything yet. so does that mean she still has a chance?
Hey, I had my phone interview with a recruiter today for the Explore program. The interview lasted 20 minutes (they booked it for 30 :/) and had no technical or logical brainteaser questions. How likely am I to get a second interview? I really want this and this was one of my first interviews (ever!) so I do not know how to judge this.