Link Search Menu Expand Document

What I Learned Doing 250 Interviews at Google

General

It’s fun!

Talking to people is fun. Meeting new people. Sharing expertise is also fun. You always learn stuff from interviews.

Except when it isn’t

The time you spend on interviews is not that fun. It is stressful. You are meeting strangers. Random things can go sideways. People can be jerks. People refuse to write code.

Noisy, inaccurate and arbitrary

Writing code on a whiteboard is not natural. The interviewer may not have a good day. People may have different results depending on the interviewers, so it can be arbitrary. Missing someone who is good is better than hiring some who is bad.

Data is a blessing and a curse

People in Google are evaluated from 1 to 4. Same score cannot be compared with other people, same number may not mean the same thing. What was valuable for the committee was the written feedback.

You can’t put a number on stuff that matters

A good example on this is the IQ number.

You can’t even ask about stuff that matters

How would you test for collaboration? The best you can do is to ask for situations to check candidates creativity, initiative, etc.

Interviews is more about criticism than it is about statistics.

It’s a team effort, and isolation hurts

The more people involved, the better. If there is a single person deciding, quality may degrade quite fast. For that reason, the hiring committee in Google didn’t participate in interviews, they wanted to decouple bias from teams. Teams did not hire for their own positions because of that. You get assigned people that passed the process.

Be prepared!

Give training classes. How interviews should be run, trying technical questions, practice dry-runs.

But, it’s like jazz

Part of being prepared is to expect things may go south.

Please make mistakes!

Iteration is key. When people start interviewing it won’t be great. You can have experienced interviewers guiding less experienced ones, so they can make mistakes. Don’t be a dick, be cool.

Every interview is a conversation (with goals)

Is not ultimately a test to see if the candidate survives. You cannot stress the candidate out. It is a conversation. You are both humans.

Primary goal: Happy candidate

It overrides everything else. If you upset the candidate, you may be probably be doing something wrong. This was the primary goal in Google too, the problem is that just one arrogant jerk and the whole internet knows. It doesn’t take much to gain notoriety.

Other goal: Answer “Would I love to work with this person?”

The candidate may not end up in your same team, or even in the same building. Maybe you can aim to hire people smarter than yourself, so you effectively raise the bar with each new hire.

Good interviews are generous

You can always learn or accomplish something, either as an interviewer or as a candidate. This came from interviewers being prepared and knowledgeable.

Time is of the essence

Time is super important. Take care on time management.

Thoughts on technical interviews

Good questions are like onions

Good questions are like onions. There is a starting naive solution and dig on, deeper and deeper. You can ask about optimisations and the like. It’s better if you are iterating on something.

Strive for higher bandwidth

Prefer video calls to phone calls, prefer in-person to video-calls. Use whiteboards. The more inputs the better.

Artifice is inevitable

Being a candidate is not the same as having a job. Being good at interviewing is a different skill than being a good engineer. Interviews are artificial.

More signal; less noise

There is no reason for mystery. You can give information to candidates to prepare for interviews. You should try your best to allow them to show their skills.

This might be the best we can do

Do not copy the model from other companies, like Google.

It probably isn’t

It may not be the best model for interviews. Bootcamps may be a better way for recruiting.

Have fun

Try to have fun!