Recruiting, interviewing, and hiring are necessary evils of the HR and managerial side of the job. It becomes a very lengthy, time consuming process and in the end you always have some doubts about how the new employee will work out.
We recently went through this process and the feedback that I have gotten internally and from candidates has been very good and I wanted to share some of how we went about it and the process.
The Prep Work
Know all of your technology stacks inside and out. Candidates are interviewing you just as much as you are interviewing them. Be able to clearly and concisely go through your technology stacks and paint a technology vision of where you want things to go as a team and as a company. We had a lot of very positive feedback from being able to paint a picture of our current technology and infrastructure stacks and where we want to get to in the short and long term.
Before having the position open, as an Operations team we had a very good idea of high priority items that needed to be addressed and were able to talk to candidates specifically about those, so they could get a good sense of what they may be working on to start and where our pain points might be. This is also a good filter because there is no point in spending more time with a potential candidate if they don’t show interest in trying to fix some of the things that are broken.
Have your general salary allocation determined ahead of time and know a very high level of benefits so you can get those questions out of the way early.
Pick your interview team. Having the same people interview every candidate was invaluable to getting feedback on which candidates did well on different areas. And have every interviewer have a set subject area and questions to ask. The key here is being very consistent.
Know what you are looking for in a very broad sense.
Lastly, be honest with the candidates.
This is pretty straightforward. Be picky! If there are very specific things you are looking for and they aren’t on the resume; pass.
If they have a stellar resume but are missing a few key things, schedule an informal call to discuss the position and their resume and see if they may have the skills but lack the experience. This falls into a grey area but I found as a Hiring Manager that ten minutes of my time to screen a potential candidate was well worth it rather than roping in more people into the interview process.
Beyond that, asking the generic stuff like are they valid to work in the location, are their salary expectations in line with the budgeted amount for the position, etc., helps narrow down the candidates.
We had a lot of applicants, so by scrutinizing resumes we were able to get the pool down to a manageable size.
We made sure that we had two people on the phone screen: the hiring manager and another ops team member. This was to make sure that both team members agreed that the screen went well enough to move forward with the next steps in the interview process.
For this part we went with a more social, less technical approach and scheduled it for one hour. We got technical enough to make sure the resume wasn’t loaded with buzzwords and a load of B.S. We mainly focused on talking “shop” and tried to get a feel for the person’s personality, how they converse, and felt that if they could go in to enough technical detail across several technical areas then they should have enough of a technical skillset to get detailed in a full interview.
Operations isn’t just all technical. We often find ourselves interfacing with many different teams that each have their own culture within the organization and how they approach things. As an Operations team we need to be malleable technically and culturally.
The Homework Assignment
As an ops team we don’t write a lot of full blown applications. We focus more on scripts and gluing things together and trying to automate repetitive tasks. In order to avoid getting software engineers involved in the interview process, asking people to put code on a whiteboard, or asking questions like “What are the 13 basic constructs found in C?”, we had candidates do a homework coding exercise.
We had them set up an account to be able to pull some data from an api and process it and do a comparison between two data sets. This we found was a very good representation of a task we may encounter on a day to day basis but also a good showing that if someone can complete this assignment then they can write enough code to get the job done.
The Full Interview
We kept this part down to 4 hours and covered three non primary operations domains, but still relevant to operations.
Every interviewer treats the candidate differently and is looking for different qualities. We went with a very high level technology approach for areas outside of Operations to help gauge how much of a generalist they are and what they know about other subjective domain areas. This also helps us fulfill the personality litmus tests.
Where we went a little more deep was during the operations interview section. We went down into deeper technical questions for systems and AWS, some theory and some practical.
We closed out the technical portion of the interview by building an EC2 server and setting it up inside of an AWS VPC. We got it all working then went in and broke it both on the server itself and inside AWS. We chose to break things in a way that we have encountered in our respective careers over the years, trying to make some sort of practical application to the exercise. This was extremely beneficial to us to see how candidates worked through problems and debugged issues. We gave candidates an hour to fix it and show it working. And with any leftover time we generally asked them to give us feedback on the exercise and the interview process overall.
Lastly we closed with thirty minutes for the candidate to ask any questions. And when I say any, I do mean any. HR, company culture, technology stacks, etc.
Closing Thoughts on the Process
This worked very well for us and in the end we had a very tough time making a decision. We had some stellar applicants and I wished I could have hired several of them. But as it goes, you only get to pick one. We were able to go from over 100 applicants to hiring in about a month. I hope this is helpful to other teams and people that are going through the hiring process again or for the first time.