Whether your target is software engineering at Google, Amazon, or Apple, or product manager at Microsoft, there should be one constant in your job search approach—preparation. The more prepared you are, the more confident you will be, and the better your chances of success.
Preparation means finding out what the employer is looking for, ensuring you have the necessary qualities and characteristics, and then convincing the company that you are the best person for the job.
Read on to find out what Googleyness is, whether you have it, and how to convince Google that you are a great fit, from crafting the best resume to acing the technical and behavioral interviews.
Laszlo Bock, who was head of people operations at Google for ten years, explained the company’s recruiting philosophy at the Economist's Ideas Economy: Innovation Forum held in 2013. Bock explained that the tech giant hires for capability and learning ability rather than expertise. Google would rather hire smart, curious people than people who are deep experts in a certain area.
According to Bock, “A smart person who is curious and able to learn will 90% of the time come up with a pretty good answer, but somebody who has been doing the same thing forever will typically just replicate what they’ve seen before.”
To give you a bit more of an idea of what Googleyness is, Block listed the following attributes in his book “Work Rules”:
Intellectual humility (being able to admit that you might be wrong)
Comfortable with ambiguity (or the uncertainty of project outcomes)
Courageousness (have you done something risky or interesting in your life?)
If this sounds like you, you probably fit the Google mold and culture, but how can you convince the company of that? Now you have a better understanding of the type of person the company looks for, you need to find an authentic, convincing, and perhaps innovative way to show off your Googleyness.
Software engineers who have worked for leading tech companies are in agreement when it comes to how to get a job in an engineering role and in what areas to prepare. Key areas to hone your knowledge and expertise are the following:
Data structures: Applications and the pros and cons of Array, Linked List, Stack, Queue, Hash Table, BST, Map (Hash vs Tree), Set, Trie, Graph.
Algorithms: Time complexity, space complexity, sorting, searching, BFS and DFS, dynamic programming, recursion, bit manipulations.
Math: Permutations, combinations, medians, probability, and geometry.
Problem-solving: Reducing a problem to a known Math or DS or DS+algo problem given enough hints.
Coding: Writing elegant, correct, and efficient code in approximately half an hour.
Programming competitions: Competitions and hackathons are great for building problem-solving acumen.
Open source projects: Submit code and perhaps meet fellow Googlers in the process.
Coding: Build your knowledge of Java, Swift, and HTML.
Project management: Develop an app or website for a commercial project that is outside your usual expertise.
Interview: Interview with lower-level companies to brush up on code and interviewing skills.
Learning: Watch Khan Academy and YouTube videos.
Blog: Blog about your work to attract attention and feedback from others.
If you're in college, in addition to working hard to keep up your computer science GPA, seek out a professor who might be doing some interesting research and offer your assistance as a programmer. Another way to prepare is to first work at a startup and gain experience the fast and hard way.
The best way to land a dream job with any company is to get a referral. Google is no different. In fact, Google receives so many applications, a referral is even more valuable. Use your networking skills to find a Google employee who is willing to refer you. Perhaps you worked with a Googler previously, or you have an old school or college mate who works there?
If not, Bohdan Pryshchenko, a software engineer at Google, suggests contributing to some open source projects with other Googlers—Kubernetes, Tensorflow, plugin communities for Google tools, some parts of the linux kernel. This can open the door to a referral.
Where building your resume is concerned, use industry words that will be picked up by automatic tracking systems. Check the job description for language to include. Look at examples of excellent resumes for similar positions online. Only include relevant skills and experience, and put them at the top. Use a resume builder, or, even better, invest in a professional resume writing service.
Your cover letter should highlight you as a brand and emphasize how you meet the Googleyness criteria. For example, your unique achievements in various aspects of your professional life rather than your deep learning in one tech area.
If your resume passes the initial screening, you will have an initial phone interview with a Google recruiter. The recruiter will most likely as you interview questions that go over your work history, and the recruiter may throw in some technical and behavioral questions. For example, “Why do you want to work for Google?” “Why did you leave your last job?” “What do you think qualifies you for a job at Google?” Be ready for both types of questions, and prepare four or five questions to ask the recruiter.
The next phase will be on-site interviews for which you will meet with three to five people one after the other. Your candidacy then goes before the hiring committee. Part of your preparation should be to know your interviewers so that you can find a way to make an impression.
The hiring manager does not make the ultimate decision at Google. It is the hiring committee who considers candidates for technical roles and the decision is ultimately reviewed by the CEO and founder in some cases. That said, it is important that you find out what you can about each interviewer and find a way to connect with them.
Most interviewers tend to hire people that remind them of themselves—a form of subconscious bias. Try to find out who your interviewer(s) will be and look them up on LinkedIn. See what their background is and try to think as they would think. The idea is to resonate with the interviewer and show that you “fit in” with the Google culture and their mindset. If you both graduated from Harvard, you're 20% there.
Many companies will conduct a behavioral interview. These interviews pose open-ended questions to determine how you would behave in certain situations to see if you have the type of personality that fits with the company culture.
While Google is definitely about finding people with deep technical knowledge, the ability to collaborate and work with others is top of their list when it comes to candidate qualifications. This is one area where you should have a litany of examples of successful teamwork. According to Kevin Miller, who worked in Google AdWords, you might be asked,
“How easy are you to get along with?”
Of course, you are going to say “very,” but the interviewer wants to see you expand on this. For example, you could say “I am a patient listener, which is essential to leading projects. My teammates often turn to me with questions because I will take the time to listen and put myself in their shoes before trying to come up with a solution. I believe my people skills are why my colleagues voted me Best Team Lead three years consecutively at my previous company.”
Another question Google might ask is, “How would you like to work with Mary every day?”
Depending on Mary’s temperament, you would have to give insightful reasoning as to whether you would or would not like to work with Mary every day.
Clément Milhailescu is an ex-software engineer at Google. In this YouTube video, he conducts a mock Google interview with another software engineer, Nick White. In this interview, Nick is able to showcase the leadership and communication skills that he has learned from his work on Youtube, how that work differentiates him, and how his experience could parlay into work he might do for Google.
Nick also shows off his level of emotional intelligence by describing how he has handled negative feedback in the past and how he would deliver criticism to others. The interview gives you a good idea of the types of questions you could be asked in a behavioral interview.
Stephen Kurtzman is a former director of engineering at Google. According to Kurtzman, Google hires more generalist-type software engineers rather than job seekers with a specific domain expertise.
Kurtzman says, “Interviews are done by other engineers, most of whom are senior or higher … the candidate is graded less on the ability to quickly give the correct answer (which won't hurt) and more on their ability to think through the problem and produce a sufficient solution within a range of good answers.”
Also, Kurtzman explains that Google assesses your maturity as an engineer by the way you solve a problem. An engineer with more experience will ask questions to better define a problem. However, Kurtz also says that Google can tell whether the questions you are asking are the right ones, so be careful not to go out of your depth.
In this interview, two software engineers at Google present an example of a technical interview and the questions that you might face in a coding or engineering interview. The presenters then give best practice tips for candidates facing a technical interview.
There are four steps to prepare for any hiring process, not just that of Google.
Find out what skills and experience the company is looking for and attain them.
Build a professional resume that differentiates you, your skills, and your work experience.
Network to find a referral.
Research your interviewer(s) to see how you can attract their attention, stand out, and be appealing in their eyes.
Prepare for the interview process by practicing both behavioral interviews and technical interviews.
If you have prepared to the best of your ability, and you still don’t land a job offer with Google—or the company of your choice—don’t give up.
Google uses a hiring committee to make staffing decisions, and just one of the committee members could find a reason not to hire you. Perhaps they think you need a bit more experience, then pursue a startup or an independent project. Try to get some feedback to see why you did not succeed. Then, do what you can to come back stronger and Googlier in a year or so!