This article was written by Sean Kirmani on Medium.It started with an application. Most people that apply are Computer Science students. I’m actually an Electrical and Computer Engineering major, but my focus is on software engineering so this information should be helpful to anyone trying to get a software engineering internship. Everyone that wants a career in software applies to be a Google intern.
I applied online when the application first opened, but I learned that most people that apply online don’t actually get picked. It really began when I went to the career expo at my university. I knew Google would have a long line, so I got there as early as possible, waiting in the Texas heat for about an hour before the doors opened. I immediately went to talk to Google. I was the first person that spoke to the company. As with most companies in the career fair, I gave my elevator speech, asked a few questions, handed them my resume, and picked up some Google swag on the way out.
I didn’t think much of it at first. I’m sure those recruiters spoke to hundreds of students over the two days of the career expo. The day after the career expo ended, I got an email.
Congratulations, you have been selected for on-campus interviews with Google! We are interested in considering you for a possible Software Engineering summer internship role.
I was in total shock. I immediately filled out the form and gave my availability. I got this email on Thursday September 18th, 2014 and I had my interviews the following Tuesday.
I did a lot of practice questions with a friend I had in my Data Structures class too. I had just finished that class so all these concepts were fresh in my head. I’m sure a lot of people that are reading this want to know how to prepare for their technical interviews at any company. In the above email, I got a Software Engineering interview prep doc which is what Google recommends you know when interview. That was probably the most helpful document I got.
It’s Tuesday morning, and again I arrive an hour early before my interview. I brought my copy of Cracking the Coding Interview to review while I waited. They open the doors, I sign in, and I head to meet my first interview.
It started out with a casual conversation. She told me a bit about herself, and to be honest I was a bit intimidated by her background. She went to Carnegie Mellon and had worked at Google for 8 years. And I’m potentially being interview to be one of her peers. I told her about myself, and then we went to the whiteboard programming. This was the first actual technical interview I had, so I was definitely nervous. I can’t go into the details of the question since I signed an NDA, but I’ll say that you should know your iterators. I talked non-stop while solving the problem. Every single thing I thought, came out of my mouth. It feels a bit weird, but it seemed important to convey my thought process. Plus writing code while someone is watching you is a bit awkward in silence. I eventually finished my solution and the 45 minute interview was about to end. I didn’t even have enough time to run through my code mentally to double check and make sure that it worked. But time was up, and I immediately had to go to my second interview.
My second interview started out pretty similar to the first. My interviewer talked about himself, and I told him about myself. He also had a super impressive background. He worked on Google search, had a PhD in Computer Science. That seems like pretty intense stuff to me. After a couple minutes of talking, we once again went to the whiteboard. I definitely did better in this interview than my first. I was asked several questions. My first was about trees. My second was about hashing. And my last was to design a data structure to accomplish a specific task. I felt pretty good coming out of that interview. After that, I walked to my next class and thought about how I should have done things that I did.
I sent a polite follow-up email to my recruiter later that night.
It was really nice talking with you guys yesterday. I really enjoyed the interview. It was really cool talking to Google engineers about what kind of work they were doing, and that only made me more excited that I might be able to work on one of those things in the future.
Thank you guys for giving me the opportunity to speak with you guys in an interview. I look forward to hearing where we can go from here!
A week went by with pretty much no response. I was afraid of not getting any further, so I sent an email asking to be considered for the Engineering Practicum program if I didn’t make it past my Software Engineering interviews. The next day, I got an email which I didn’t expect.
I was actually just about to email you. We enjoyed meeting you at UT Austin and would like to move forward with next steps!
My colleague will reach out to you shortly to discuss next steps and manage your candidacy going forward. If you come across offer deadlines or have any updates with other companies, please let us know as soon as possible. She will also be able to speak with you about potentially being considered for the Engineering Practicum internship as well.
Thanks and best of luck with the rest of the process!
I had passed my interviews! I honestly didn’t expect that at all. I mean it was my first technical interview in college ever. And this was Google. They’re known for having some kind of crazy hiring bar, that somehow I made it over.
(From what I’ve heard, now you have to take three interviews instead of two.)
Now I was in host matching. It is now October 1st, 2014.
I was transferred to new recruiter who gave me some information on the process.
My name is [REDACTED], and I will be your recruiting contact from this point forward. Thank you for taking the time to interview with our team! We received the feedback from your technical interviews and will be moving forward to the second round of the interview process.
During this round the feedback from your interviews will be reviewed by a panel of engineers and potential intern hosts. As part of our internal process, we will be adding you to an application so our hiring managers can review your information. This may trigger an email notifying you and linking our EEO information. Should you have any questions please let me know.
There are two possible outcomes of this review period:
Possible Outcome 1) Your information is reviewed by our engineers and potential hosts and they determine there is a possible skill match for a project. This results in a phone interview with a future potential host to talk about their specific project.
Possible Outcome 2) Your information is reviewed by our engineers and potential hosts and unfortunately they find there is not a skill match to our current roles. This will conclude the interview process and we will alert you of this via email.
You will be receiving an intern questionnaire soon regarding your candidate profile and project preferences. Please be thorough in your responses and complete all of the open-ended questions as this information will be shared with the intern hosts.
So I filled out the questionnaire and I had a phone call with my recruiter. The questionnaire is probably the most important thing when in host matching. Make sure to spend a lot of time filling out that Google Forms document. The results from the form are basically put into some database, and when hosts are looking for interns, they pick people from that list. Most of the people that make it to host matching get an offer. You’re basically put in this limbo where you kind of have an offer, but not really.
It was only October, so none of the projects had been approved, so everyone in this stage just had to wait until projects were approved. I had interviews with Facebook and Twitter also in October, but I didn’t end up getting offers from either of those companies. So all I had left to hear from was Google, so I was pretty stressed. “What if I don’t get an internship from any company?” “Should I try to make other plans for the summer?” “Should I refill out the questionnaire?”
They weren’t approved until around early November. I was relieved a little bit. In my mind, I was thinking that I since projects were now approved, host matching interviews would start rolling in. I could not have been more wrong. I was expecting to be matched by Thanksgiving break, but I wasn’t.
It’s December 2nd now. I get an email from my recruiter with the subject “Potential Project”.
I am happy to let you know that we have identified a potential project in the Kirkland office and would like to schedule you for a 30-minute phone interview with the host. Please send me your availability for the remainder of this week and next week along with the phone number where the interviewer will be able to contact you.
My god, was I relived. After about two months of waiting, I finally got matched with a host. Those two months felt like forever to me. I got information about the host too. Apparently the project was for an Ads team in Seattle. I kind of had my heart set on going to Mountain View, because I wanted to be in Silicon Valley, where all the action was. But I decided I’ll take whatever I can get. The interview was scheduled form noon the next day. I’m sitting by my phone waiting for the interview at noon. Five minutes go by. He’s probably busy. Ten minutes. Should I be worried. Twenty minutes pass before I finally got the phone call.
Host matching interviews typically aren’t technical. Usually it’s personality. They want to see if you would be a good personality fit for the team. Typically, they expect anyone that passed their technical interviews to be competent enough to work at Google. But it depends on the host. My host told me about his project, which personally I didn’t want to be a part of because I wasn’t interested in ads. But it involved machine learning, which seemed cool, so I told the host that I was interested in that. That’s where I messed up. He took it to mean that I have an extensive knowledge of machine learning. So he started asking me questions about certain machine learning algorithms which I only vaguely heard of.
About four days later, I got this.
I just heard back from [REDACTED] and after interviewing a few more candidates they have decided to go with another candidate. I am sorry this team didn’t work out. However, I have another project who would like to speak with you about their project, this host is in our Los Angeles office. Can I set up an interview next week with the availability already given?
Well shit. I messed up. But at least I had another shot with the LA office. I sent my availability. Surprisingly, someone else also selected me as a potential intern to work on Chrome for Android in Mountain View. So I had two host matching interviews on the same day on December 9th, 2014.
This time I decided to prepare a lot more. I wrote a Google doc with all sorts of prep material: information about myself, greatest weaknesses, most challenging projects, “what does being Googley mean to you”, and a list of questions to ask.
My interview with the LA office was first. This host was really cool. His project was about working on the backend of Google Drive. I really liked him and his project, and I referred to my prep doc a little, but we ended up having a conversation about algorithms and efficiency between different programming languages. There were no technical questions in this interview.
About two hours later, I had my interview with the Mountain View office. This host seemed very passionate about what he was doing and it felt like he was really excited to talk to me. I went through my “about me” section of my prep doc, and then he asked me a few questions, and I asked him if he had any questions. I asked him one question that really resonated with me. I asked “What do you want in a potential intern?”. He responded “I want someone who isn’t afraid to make mistakes and loves to learn. A lot of hosts are looking for people that aren’t afraid to fail, but I’m also looking for someone who isn’t afraid to succeed.” I really liked this host’s philosophy.
A couple days later, I found at that I had gotten an offer from both the LA office and the Mountain View office. I decided to go to the Mountain View office next summer. That happened December 11th, 2014.
After the Offer
I have a lot of logistical things to figure out now, but I’m glad I was done with all the waiting and that I finally had an internship. It was definitely stressful. Especially since I had friends that had been interviewed and gotten offers at other companies like Facebook, Microsoft, and Apple all while I was still in host matching. But at the same time, I’m glad I had that experience, because it felt really rewarding in the end.
I kind of feel like I somehow slipped through the system and somehow got lucky enough to land an internship. It’s kind of like that Imposters syndrome thing. Anyway, I’m really excited to be heading to Mountain View in the summer, and I want to work really hard so I can come back in 2016!
To anyone that wants to go to Google in the future, I hope this helps, and good luck!