I’ve interviewed for and been interviewed by companies large and small. We all know software engineer job interviews suck. But it’s hard on the other side of the table too.
One of the better places I worked for had a lightweight process of one phone screen and a four hour on-site. The company also prepared offers before the on-site interview round.
When you finished interviewing, you got a same-day yes or no answer, and if it was yes, you had the offer in your inbox within an hour.
What interview practices have you found effective?
… And by what metric?
Google’s interview process was at least twice as good as any other place I’ve ever interviewed. They do a phone screen where you solve not-very-complex problems on a screen share, just to make sure you have some baseline level of coding ability, and then they do one full-day tech interview.
They share with you way beforehand a video that explains exactly what the interview process is, and recommends that you practice at it so you’ll be getting tested on your actual ability level and not unnecessarily put on the spot. For the interview day, five different people will stand you in front of a whiteboard for one hour each, ask you to solve a programming problem on the whiteboard, and then give different further augmentations to the problem or ask questions about it. Some of the problems are straightforward, some are exceedingly difficult (I told one guy, I don’t think I can actually give you a good solution to this problem, and he said, oh I know you won’t be able to solve it completely and correctly, I just want to see how you approach it and what you come up with). With the exception of lunch which is more of an open chitchat type “interview,” it’s no bullshit, no brainteasers, just here, write some code, let’s see what you do.
The thing I appreciated most about it was the applicability to what you’ll be doing on the job. Now with AI tools, things are a little different in terms of what makes a “productive” programmer, but I’d imagine it’s still pretty similar and still effective.
When I was part of giving interviews for a company I used to work for, we actually used a pretty similar thing, but used a written test and gave people time to sit down with it. We found that standing people up in front of a whiteboard would sometimes make them super nervous (probably why Google does it one-on-one and tells you what to expect and has you prep beforehand). But I’ve never found anything that works as well as simply asking people to write code and then seeing what they come up with.
Hope this is useful.
Edit: Other random things which are helpful: Having a single point-of-contact who’s your “advocate” within the company is useful, so for logistical things you’re not just some random person on the phone with someone who doesn’t know what’s going on with you. Obviously the interview people being on time, being respectful of your time and effort to the interview, being upfront about salary, letting you know the answer quickly and directly whether yes or no, all that stuff is key too.
If you don’t mind me asking, when was this? I’ve heard fairly mixed things about Google’s process and about how they’ve changed it over the years.
This was 2015.