Many technologists want to work at Google, and with good reason. In addition to handsome compensation and great perks, the search-engine giant offers the opportunity to work on some truly groundbreaking projects, from mobile app development to quantum computing.
However, actually landing a job at Google is easier said than done. Although the firm long ago abandoned the infamous brainteasers that distinguished its interview process, it still subjects many candidates to multiple interviewing rounds, with an emphasis on evaluating not only your technical knowledge, but how well you’d work with potential team members and managers.
Google’s interview process usually kicks off with a phone interview, during which you might have to write code in a shared Google Doc that your interviewer can view. That interview may also involve other kinds of problem-solving and behavioral questions. In ordinary times, that’s usually followed by an onsite interview, where your interviewer(s) will ask questions designed to evaluate four areas:
- Leadership ability
- Problem-solving ability (termed your ‘general cognitive ability’)
- Knowledge related to the role
- “Googleyness” (whether you’re a cultural fit, in other words)
For software engineering candidates, the interview will focus on how you think through complex problems, including data structures; you’ll have to defend your solutions and thinking, as well as prove that you have all the skills you listed in your application. Google itself has a video that breaks down this process a little more:
In the video, one of the recruiters talks about testing candidates’ coding skills on a whiteboard, although Google’s own career FAQ suggests that whiteboards have been largely shunted aside in favor of coding on laptops, so that’s confusing. If you’re applying for a job at Google, it might pay to familiarize yourself with rapidly sketching out code on a whiteboard and a laptop, just to be safe.
As with interviewing at any other company, technologists should make sure their answers are clear, that they’re capable of talking through their previous experiences and challenges in a way that shows what they’ve learned, and that they can explain how they arrived at particular solutions.
Any software engineer with an interest in Google is probably curious about the programming languages that the company is hiring for. Fortunately, we have Burning Glass, which collects and analyzes millions of job postings from across the country; it gives us insight into the skills that Google has requested from candidates over the past 90 days. Here’s the breakdown:
That Python tops the list should come as no surprise. Long an ultra-popular “generalist” programming language, it’s increasingly deployed in specialist contexts such as data science. If you’re new to Python (or you just need a refresher), check out Python.org, which offers tons of documentation, including a useful beginner’s guide to programming. Microsoft also has a video series, “Python for Beginners,” with dozens of short videos that cover everything from “Hello world” to calling APIs.
Java also has a variety of online learning resources, including Codeacademy, as well as extensive documentation. A Google interview may also focus on your abilities with Kotlin, which has been positioned not only as a “first class” language for Android development, but also a Java upgrade (in an interesting twist, though, Kotlin didn’t make the Burning Glass list).
The relatively strong presence of Objective-C is likewise something to note: This older language is used to build and maintain apps within Apple’s ecosystem, including macOS and iOS. Google’s need for technologists skilled in this language suggests it’s either maintaining a lot of legacy code, or it doesn’t have a lot of internal interest in Swift, Apple’s newer development language.
Whatever languages and positions you might pursue, it’s clear that Google demands you know your stuff. Keep that in mind when applying for a job at the company.