You’re in a bit of a different situation than the others profiled in this book—is that correct?
Yes, I just finished a whirlwind tour of interviewing and am deciding among Amazon, Microsoft, and Google for a summer internship. They are all software development positions and are all, by coincidence, in Washington state—located in Seattle, Redmond, and Kirkland respectively.What’s on your mind? How are you basing your decision?
Well, considering they are internships, I suspect the monetary compensation is comparable. So, what’s mainly on my mind is the opportunity the positions can give me in the future, how interested I am in the technology the positions involve, and whether the experience would fit well with my Ph.D. research. It’s not an easy decision, every company offered something a bit different:
In my opinion, Amazon has the most hands-on technical challenge of the bunch. They were very receptive to tailoring a position for me by providing a list of active projects and allowing me to choose the three of most interest. Amazon also hinted at the possibility of finding something that would fit well as a doctoral thesis topic.
The Microsoft interviews mainly regarded XML, SOAP, web services, enterprise interoperability and such. They also do some work with COM and COM+. It’s definitely interesting because those technologies are in mainstream tech news almost daily.
Google offers a bunch of intangibles such as my favorite location out of the three, a trendier name, and lots of free stuff. Originally, the position they offered me was a little weaker in comparison with the others as far as interesting technology. However, they were very flexible after I talked with them a bit about it. They changed the position to one involving Jabber which is a chat interface and work in founding a new Google Labs project.How did you get all these interviews?
Microsoft and Amazon attended a college career fair at my university. Amazon was all about having a technical discussion right from the start. Even at the booth I had a discussion about the challenges of dealing with enormous databases in addition to where my interests lie. I applied at Google through their website. I also have a friend that works there which helped I think.Did you research the companies?
Some companies definitely make it easier than others. For Microsoft, I did the standard review of their college website and looked at their latest research projects. Knowing about their technology on the fringe that hasn’t gotten a lot of press definitely helped me to be more enthusiastic than other candidates.
Amazon was a lot tougher. For example, I had to resort to the website of the real estate agency that handles their lease to find out what their buildings look like. Google was a bit easier because they provide information on their corporate life, current active projects, and technologies on Google Labs.How do you approach interviewing?
What has been invaluable for me is just chatting with friends in my field. It can be so helpful to practice chatting with people who are competent in general, work in different areas of your field, and enjoy an open discussion. Whenever you have time and the environment encourages it, bounce around open ideas with your friends.
I also think it is important to speak your mind while interviewing even if you aren’t sure how to solve a problem. I don’t know how many times I have come up with an answer to a question that I knew to be less than perfect and said something like “I don’t have proof that I can’t do better, but I suspect the solution could be improved if I thought about it a little more.”Have any memorable questions?
During an interview with Amazon, I was asked a technical question which I started to answer with a popular programming language. Halfway through, I thought I could use a functional language called ML which is rarely used in industry, but sometimes used in research or for teaching. I suspected that the interviewer would be familiar with it because he had mentioned a functional language previously called LISP.
Boy did his eyes light up. “Really!” he said. So, my hunch was correct that he preferred functional languages over the more popular languages of today and I scrambled to try and rewrite the problem. What’s interesting is I never got around to finishing the solution, but I think my little attempt and our discussion was the most favorable part of the interview.Have any of your interviews been something other than office interviews?
Yes. I had some lunch interviews as well. They were more casual with engineering discussions and a few brain teasers here and there. My advice for a lunch interview would be to pick what you eat carefully. Try to pick food that won’t embarrass you! Also, avoid anything that will take unnecessary attention and can keep you from talking. You may want to pay attention to what your interviewer gets, because if he or she is vegetarian, a 20oz steak could affect their perception of you. Also, try to avoid carbohydrate shock; you’ll need to be alert for the rest of your interviews. One thing that works for me is a caffeine boost. In my case, a few glasses of iced tea make my mental capacities infinitely clearer.What advice would you give someone who is about to have a big interview?
I like to get my mind going—I usually bring some related material to read. It’s very important to know the company’s products as well. If you are expecting technical interviews, be sure to brush up on the fundamentals of your field. I like to go over some basic computer algorithms before interviews.
Finally, the most important thing is to relax. The interviewers just want to know what you’re like. Think of it as a typical engineering discussion with a friend. Knock down the illusion that the people you will speak with are adversarial. You aren’t going to war here. They are just regular people who are looking for someone to help them with their projects.What would you do different if you could do it all over again?
I think I would have been more selective in designing my resume. I now realize it is important to emphasize what you are most interested in rather than listing everything you can. It plays a big role when companies match a candidate to a team. After the interviews are done, you leave, but the resume stays.
I wish I had gone to grad school straight out of undergrad. I think if you are passionate about your field and plan to spend the rest of your life in it, there is no better place to be. I don’t regret my time working after undergrad which certainly made me a pretty penny, but things get so much more interesting with the knowledge of a quality graduate education. Now that I’m in grad school everyone takes me a lot more seriously, there are more interesting things to work on, and
opportunities present themselves which simply didn’t exist before.