When hiring for a role that requires more than a few years of experience, your approach should look a bit different than the process for junior engineers. In this article, we’ve put together some recommendations that will help you attract the best talent and make sure you find the right senior candidate for your team.
Before hiring: Write down your requirements and make a plan
It’s important to go into your interview process with a clear picture of what you’re looking for as well as how you will measure it, beyond the details on the candidate’s resume.
Are you looking for someone with very specific experience in a certain area, like large-scale search or performance optimization? Or are you more interested in hiring a generalist with a good foundation that your team can mentor so they grow into the role? For each requirement, we recommend writing it down and also listing how it will be measured in your interview process. Here is an example:
- 3+ years of experience with Ruby on Rails: We’ll design a screening test that asks a few tricky questions about Rails that you wouldn’t be able to solve quickly without several years of experience. (More on designing realistic screening tests in the next section.)
- Will be responsible for rearchitecting our backend system in Q1: Let’s ask the candidate a related architecture question over a whiteboard in the live interview.
- Should be able to grow into a managerial role in the next few years: Let’s make sure that at least 3 team members get a chance to meet them and give anonymous feedback on their communication style and whether they would be excited to work with them.
Screening: Create an assessment that is realistic and relevant
One of the areas where teams commonly make mistakes with senior hires is in the screening process. But it’s actually possible to save a lot of time here and give candidates a great experience, following these tips:
1. Give them the option to do a take-home screening test.
Instead of having every candidate start off with a live coding interview with someone from your team, create a screening test that candidates can do on their own time. You can always give them the option to pick whether they would prefer a live screen or a test, and you’ll probably be surprised by the number of candidates that choose a take-home assignment. This means they’re under less pressure, and it saves your team time too, so it’s a win-win.
2. Don’t ask basic algorithms and data structures questions.
These are a huge turn-off for senior candidates. From their perspective, these questions tend to seem very far removed from their day-to-day work, or measure theoretical CS fundamentals that they haven’t encountered since their last CS class. Furthermore, these tests won’t help you separate candidates with more experience from the recent grads. New grads are often able to spend more time preparing for algorithm interview questions then experienced candidates who have full-time jobs.
3. Don’t make your screening test too complicated.
Be careful not to design a test that’s too complex, like asking candidates to implement an entire mobile application. That’s simply too time-consuming, and it won’t give the candidate a great first impression of your team — it’s like asking someone to move in with you on a first date. What you’re looking for is a sweet spot: a test that asks language and framework-specific questions that aren’t too challenging for someone with experience to solve (say, it should take them around half an hour), but will be nearly impossible for someone with less experience to tackle. (CodeSignal’s Filesystem tasks are designed for exactly this use case.)
4. Try the test out with your team before handing it over to candidates.
Live interview: Go beyond coding skills
Once you’ve progressed a candidate to the live interview stage, you should move from screening candidates out to screening them in. The candidate has already met the basic requirements and shown they know how to solve your challenging screening test. Now, you’re looking for qualities that they can bring to the team that set them apart from the rest. This could be something technical, like their depth of experience working with a given framework, or their system design expertise. Or it could be their softer skills, like communication or being able to think on their feet. The live interview is the perfect place to test those softer skills, since you can have a conversation and see how they respond to new information. If you throw a curveball, can the candidate adapt?
In a live interview, it’s best to use an open-ended format, so that you’re able to change gears quickly on the fly. CodeSignal Interview provides Free-coding tasks that give you a terminal and an IDE, where you can set up the environment however you like and pair-program with the candidate. If you’re hiring a frontend developer and want to see the visual output of the code, CodeSignal will render the code live on the Web or in a mobile device emulator. Every interview comes with a whiteboard for asking architecture questions, and handles the collaboration and video-conferencing so that you never have to worry about screen-sharing and multiple windows.
With the right approach, it’s possible to attract great talent to your team and create a positive candidate experience that also ensures you hire someone who can meet the requirements you need. CodeSignal provides a suite of tools for every stage of the process, from screening tests to live interviews, and it’s flexible enough to support all types of candidates, from new grads to senior hires. If you’re interested in learning more, fill out the form below and get access to our demo.