In this post I would be changing the names of those who interviewed me. Also, I would be changing the order in which I was interviewed (probably you would know why I did this as you read on)
The journey:
Flying Newark to Seattle is a good 6 hour journey. It doesn't really help if you have a 2 year old kid seated behind you who insists on crying for those 6 hours. Everytime I saw a passenger take out his laptop I wondered if he was a MS employee and if he was writing some C# code? Ear plugs made life a little easier and after a while I found myself in a cab headed to the Courtyard Marriott in Bellevue. After paying off the cabbie I was wished Good Luck for my interview. Eh? How did he know??!! I reached the hotel by about 11 PM and a note in my room read "Microsoft and the Courtyard welcomes you". I plopped into my bed and woke up halfway into the night, still wondering how the cab driver knew I was here to interview. Maybe I should have asked him what kind of questions to expect in the interview. He might have known!
I spent the day before the interview just chilling around reading some stuff and went off to sleep early. Once again I found myself awake halfway into the night. No cab driver nightmares this time tho!
As I walked out by 7 AM, I saw the breakfast lobby flooded with would be MS employees! Aha! No wonder the cabbie knew! The ride to Building 19 was a fairly short one. The cab driver happened to be from India, so we managed to speak a couple of Hindi words with each other. By this time I was really nervous. The initial form that was given, I filled it out in the wrong manner. There were some 10 others waiting with me and one by one a recruiter would come, call out their names and take them to their office. This other candidate who apparently seemed more nervous than me tried to get out his nervousness by talking with everyone around him. He actually walked up to me and asked "Why Microsoft? Which position at Microsoft and why that position?" Fortunately Amanda, my recruiter came out and called my name. I was rescued!
Initial HR:
Amanda had a sweet office and asked me if I would like some coffee, how my journey had been etc etc. Then she went into the regular introductory questions, and told me which groups I would be interviewing with. At this point I made it clear to her that I had mailed my university recruiter a week before my interview asking which groups I would be interviewing with. At that point I was told that it would be decided on that very day since positions keep opening and closing. Hence, I had no clue as to what these 2 groups are working on. She said she was aware of that situation and would inform the people I would interview with that I had not been informed beforehand.
Advice 7: Try to find out the groups you would be interviewing with beforehand. You can research on this group and with a little more information, you might come out as an "ideal match".
Amanda interviewed me for a while, asked about my various projects, which one I found more interesting etc. At one point I also asked her if I am shown the door after 2 or 3 interviews, does it mean my performance was rock bottom. She said she has no sure answer for this. She knows candidates who were interviewed by 3 people in a loop and got a job and others who had 7 interviews and were rejected. Saying this, she took me out to the shuttle and I was on my way to Building 17 for my first interview in the loop.
Interview 1:
Betty came across as a very friendly person and met me in the lobby. As we walked up to her cabin, she tried to put me at ease by asking questions like would I like a drink, do I like Seattle, the typical chit-chat. All I knew was its a blatant attempt to make me feel comfortable before she starts her attack! I put in the first question which got us going - "What role do you play around here?" I was a little shocked when she said she was a STE! I was expecting a Lead or a Manager to interview me. Upon asking her how long she had been here, she said about 12 years or so. By this time I was all confused. 12 years and STE? Fortunately she clarified that she came in as a contractor, became permanent, went on to be a Lead and then a Manager, missed getting her hands dirty with code, so after lot of talks with the management, she finally got back to STE.
Betty and I got along really well. We spoke a lot about testing and being my first interview I asked almost as many questions as I might ask in a year. We got down to testing where she asked me to generate test cases for reversing a sentence a.k.a: "I am a coder" -> "Coder a am I". She asked me if I had heard of this one before and I told her that I had actually written code for this couple of days back. I think I did pretty well at this and we spoke about the different scenarios, categorized tests etc. After I felt I was done, she asked me one little question and it made all my tests null and void! It was like having a house built and then realising that all the occupants are 12 feet in height after its built! Fortunately I had asked clarifying questions in the start, but had missed out on this one. Hence I felt it was ok! It was really one of those "I would never think of it" scenarios. But then, thats what a good tester would think of!
Advice 8: Ask clarifying questions before you start coding or testing. Think a lot before you say anything. Even if you know the solution beforehand - THINK!!
There was a point when I asked Betty few questions and she said these were the exact questions she was about to ask me. Finally she wanted me to write some code, but said we were short on time. So said she would simply ask me if I knew how to write code. Now it would look stupid if I took time to think on this one, so I immediately answered in the positive and she took me to the lobby for my next interviewer.
By this time my initial nerves were gone. I was enjoying what I was going through and my perception about the people working at MS had completely changed. This did not last for too long.
Interview 2:
Mark met me in the lobby and said that I was late. Apparently Betty had taken too long and now he did not have enough time. Ok... not really my fault. And Betty probably took 10 mins more than the alotted one hour. Did it really matter? Ok, maybe Mark had some meetings to attend. Anyways, when we got into his office his phone rang. This is his end of the conversation. "No, you know I dont do that." "No Betty, asking code is not my cup of tea. Bye." Here I was dying to write code, and the first 2 interviews were gonna go by without any coding!
Anyways, Mark got into a lot of management related questions. Actually we started talking about marketting after a while. On how I would sell the product to my customer. Is it better to call them at certain centres to give a demo or should you ship CD's with the product to people interested during the beta stage etc. etc. After a while I was wondering what position I was interviewing for. Personally I felt my answers were "OK" but there was one part which disturbed me. Everytime I start to talk, Mark looked at his watch. Everytime I take time to think of something, he says I have to be quick since I didnt have time. Initially I was confused and at the same time not thinking to my best. Frankly, I was not too comfortable with Mark's way of interviewing. But then I thought maybe it is part of the interview and he is trying to stress me out. I maintained my stance of "thinking before answering" and he repeatedly kept saying we are short of time. We did not talk about code, we did not talk about testing. We just argued about management aspects & marketting. A little about my projects and places where I felt I could have done better.
Advice 9: Even if you are applying for a design/test position, brush up on the basics of management/marketting/anything vaguely related. You could get general questions which will touch the basics of all aspects of software development.
So finally Mark said his time was up and if I had any questions I should ask while we walked to the next interviewers cabin.
Interview 3:
Mark took me to the office of Ahmed, introduced me, spoke to Ahmed for a couple of minutes and left. Ahmed came up to me, introduced himself and said I was early. Probably half an hour before schedule and wondered if I could wait in the lobby for a while. One person says I am late, the other person says I am early. By this time I was wondering if this was Microsoft? So I found myself waiting in the lobby, pretty sure Mark is typing a "No Hire" for me. Ahmed turned up after half an hour and said we should go grab some lunch. Great! He suggested we head for an Indian restaurant.
Advice 10: Dont second guess how your interview went.
Ahmed turned out to be a very friendly person and once again my opinion about the people working at Microsoft changed. He was a Test Lead and knew which restaurant makes good Indian food! He initially spoke a lot about himself and how his wife insists they should eat at the Indian restaurant at least once a week! While driving he asked me, "If I ask you to test something, what will you do?" Very open ended question. So I naturally asked him, "I will ask you what you want me to test." After that I spent almost one good hour figuring out how to test a calculator. I was asked to generate bug reports, test plans etc. A lot of thought went into developer/tester relationships. I think I did pretty well on this one. But still, no code! I was almost going to beg him to ask me to write some code when (miracle!!) he asked to write code (yay!). Generate all numbers which are multiples of 8, less than 80. I thought this is too simple, there has to be a catch in it somewhere... so I started thinking of all the possibilities where I could go wrong. Can you believe it, I asked clarifying questions in this scenario too!!!! Finally Ahmed assured me there was no trick in this, he just wanted to see my coding style.
Advice 11: Read the .net design guidelines.
We drove back to Ahmeds office where he gave me a name and a phone number and asked me to call that number after an hour. The person was a Test Manager and that would be my next interview. So I spent one hour after lunch sitting in the lobby. All the waiting was making me tired and drowsy. I could partly blame it on the Indian food.
Advice 12: Eat well, but eat light. Try carrying an energy bar with you. Eating small amounts between interviews is an excellent way to keep your energy level up. Also, carry a bottle of water with you. A lot of talking, standing and walking could make you dehydrated. Oh... and waiting too!
Wanna know if I made it further?
Part 3