Hiring


My experience as a hiring manager.

Note that the majority of my hiring experience comes from hiring engineers at GitLab. The process was fairly well established and I had a lot of people to lean on for guidance. Also a big part of hiring is attracting good talent, GitLab has a quite good brand so my choice was often picking the best candidate from several great ones.

Have an established process and rubric

Easy to skip if there’s no established process. It really makes it easier for you and fairer on the candidate if there’s a process and a shared rubric that every candidate is measured against.

At GitLab the standard interview cycle for engineers was 1) Screening 2) Technical Interview 3) Behavioural Interview 4) Skip level interview. The behavioural and skip level interview could be replaced with panel style interview or something team specific. The important part isn’t to follow a process to the letter every time, it’s to have a process and make the process work for your team when needed.

Work closely with your recruiter

Work closely with the person who is keeping your pipeline warm. If no one is keeping your pipeline warm, congratulations you just got another responsibility.

Your recruiter will have a good overview of the pipeline and it’s good for the hiring manager to have a sense of how many candidates are in each stage.

I’ve found that a kickoff meeting and pairing with your recruiter to screen the first 20-50 candidates gets you on the same page for what you are looking for.

Say no

It can be quite difficult to say no to candidates. Especially if you are sitting in a job at a great workplace and you know how awesome it is on the inside. But it’s a disservice to the candidate and your team to have a candidate linger in the pipeline. If it’s not an enthusiastic yes it should probably be a no. When saying yes or no you should be able to articulate why (this is where the rubric comes in handy).

Give the candidate the opportunity to shine. Don’t play gotcha games

When starting to interview it can be tempting to lean on questions where there is one correct answer or trying to catch candidates making a mistake.

While you shouldn’t ignore mistakes from candidates you really shouldn’t be pressuring people to make mistakes. Look for ways the candidate can show their strengths. This can take the form of discussions about projects they’ve delivered (as opposed to esoteric algorithms) or walking through code they’ve written themselves.

Show you are excited

Show the candidate you are excited! About the team and about the prospect of them joining the team.

If this is your 10th interview of the week it can be difficult to find the enthusiasm but remember that the candidate is getting their first impression of the company.

Talk openly about concerns and what they’ve done well

For behavioural interviews I like to schedule 60 minutes. 45 minutes for intro + my questions and 15 minutes for the candidate. If I see orange/red flags and I have the time, I will often dig into the flags during the interview. This allows the candidate an opportunity to elaborate and it allows me to firm up on a Yes or No decision without needing another interview cycle.

What needs to be followed up on

Even with all the time in the world, there will be areas that are worth digging into for future reviewers. In my case I was often the second last interview (my manager taking the last skip level interview) and giving direction on areas to focus helps a lot.