Below is an article originally published on Google's LinkedIn page. Visit the Google company page on PowerToFly to see their open positions and learn more.
This post is part of Google’s “Inside the Google Interview” series, where current Google employees share their stories about interviewing at Google. The information presented here represents the sole views and opinions of the author and not those of Google. Because our hiring process is constantly evolving, the experiences below may not fully reflect what the current interview process looks like.
Meet Jasmine
For the past three years, I’ve worked in Chicago as a software engineer in Google Search’s TypeScript Infrastructure team. Before joining Google, I worked at an insurance company for about 1.5 years, and a travel company for about 2 years.
I graduated with a B.S. in Chemical Engineering from the University of Washington in Seattle. After graduation, my first job was as an Operations Engineer for a manufacturing company. In this role, I was a member of their Emerging Leaders Development Program, where I rotated around several manufacturing industries, implementing efficient solutions to improve machine productivity rates and identifying bottlenecks within the manufacturing process. In the evenings, I taught myself JavaScript and worked on small coding projects. After 3 months, I quit my job in chemical engineering and joined a coding bootcamp.
I went to a bootcamp in Chicago where I learned advanced JavaScript concepts, created interactive applications for my portfolio, and networked with like minded colleagues. I landed a tech role soon after my teaching fellowship ended in the coding bootcamp.
Getting the interview
I interviewed for Google twice, both with different starting points.
For my first time, I sent my resume through the Google Careers site for a role as a software engineer in Chicago. A recruiter contacted me a few weeks later for an interview. I failed the phone interview process at my first go.
Two years later, a different recruiter reached out to me via email, asking if I would like to interview again for Google. I asked if I could be given 5 months to study before going through the process. The recruiter agreed, and I started the interview process in Dec. 2020.
Preparing for the interview
I only used a popular online interview prep platform and YouTube videos to prepare. I studied for about 5 months, which included making an excel spreadsheet of the main algorithms I was most likely to face. I also noted which algorithms I needed to work on, key tips for solving them, the time it took to solve them, etc. Here is an example spreadsheet template I used to track how many of the problems I got for each given topic on a per week basis:
The online interview prep platform had a Google Prep Interview section that laid out several mostly asked interview questions per algorithm. I first went through those to assess which I needed to study the most. I then categorized all of the most frequently asked interview questions on the algorithms I needed to work on. I would schedule every week the questions to focus on.
For each question, I made sure to time myself reading the question, asking clarifying questions, talking through the pseudocode, writing a working solution, then optimizing the solution. I tried to review more and more questions, until most of the questions I answered could be completed within 30 minutes.
I also frequently read the prep platform’s forum where folks would post their experience/questions that were asked of them to get a feel of what to expect if I were to interview during that time period.
I also completed several of the Google Mock Assessment tests on the prep platform to see how I could perform given the time constraints and their most recently asked questions.
The interviews
Overall, because of my interview prep, the interview process was not as difficult as I thought it would be.
The technical phone interview was about 45 minutes long, with a fairly straightforward question. The interviewer was very good at answering my clarifying questions and understanding my thought process as I walked through my code.
There were four video technical interviews in total. I felt a lot of anxiety and stress to make sure that the months of preparation I put into these interviews paid off, and I wanted to put my best foot forward. It all paid off. Each question’s solution came naturally to me, and all of the interviewers were supportive in either guiding my thought process or steering me in the right direction if I was stuck. Each of the interviews were 45 minutes long, with 10 minute breaks in between.
For both my technical phone interview and virtual video interviews, I was able to at least give a working solution and discuss my thoughts on optimizing the solution. Also, Google made a specific code editor for remote interviewing (no more writing in Google Docs, yay!).
After the interview
After my virtual interviews, my recruiter contacted me 3 days later confirming that I made it to the team matching round!
The team matching interviews took about a month to find teams in Chicago with open software engineer roles focused on JavaScript. I interviewed with three total teams and ultimately chose to work with the last team that interviewed me. The team focused on Search JavaScript infrastructure, and I’m still on the team today. However, during the month of matching, there were week-long gaps while I waited on my recruiter. After about a month, my recruiter confirmed which team matched my preference.
After my team matching interviews, the recruiter asked what an ideal salary would be for me. I used Payscale’s data for a Google software engineer role in Chicago as a baseline salary request. The recruiter came back with an even higher offer than I requested. I accepted the offer once the recruiter came back with this higher offer.
Overall, from the very first phone interview to the point I signed my offer letter, the whole process took 5 months. Get started on your Google journey.