Hiring is hard. If you're a remote company like we are, you already have a head start. A larger pool of applicants, more practical benefits over a "fun office", etc. That doesn't mean that when the time comes to hire for a new role, you will immediately find the perfect candidate.
When we were hiring for our recent frontend developer role, we were surprised how hard it ended up being. Not for lack of candidates, but instead for the right fit within our existing team. In this article, we'll look at the main parts that had an outsized benefit on the process. Some of which we were good at, and some we had to adjust along the way.
1. Identify the right need
Hiring for a new role should start with a real need—not because you think you're supposed to have X number of engineers or a certain size sales team. Define your own pace. Look for clues or faults in how your team is working. Hiring can take time, so it's good to start the process as soon as possible.
For our frontend engineering role, this need arose when we noticed parts of our codebase starting to show neglect. Checking in with the rest of the engineers, it became clear that the frontend needed ownership—something that required more bandwidth or more skills than the rest of the team could dedicate.
Identifying a need early comes with caveats. If the need is for a single-sprint feature, maybe it's not worth hiring for. Use the initial trigger to step back and look at your roadmap.
For us, we could see that as the project continued to grow, the problem would only get worse. We were already seeing inconsistencies between our designs and implementations, and bringing on a dedicated team member would handle that. They would take pressure off of the rest of the team, allowing them to focus on their own tasks. More ownership, more predictable delivery dates, and better facilitation overall.
2. Understand the profile
Once the need to recruit a Frontend Developer had been established, we moved towards creating a process that would increase our chances of finding them—more specifically, we adjusted the process we normally use so that it could account for the details of this specific role.
This starts with defining a profile. It's easy to naively search for a sheep with five legs—un mouton à cinq pattes, as our French founders like to say. Meaning, avoid spending all your time searching for a candidate that has every attribute you may ever need. They don't exist.
The better you can understand this profile at the beginning, the easier finding the right person will be.
Defining the profile should take into account not just the previous need that you identified, but also the makeup of your existing team. Where will they fit? Is seniority as important as you think it is? Does the title you have in mind match the title a candidate uses to describe themselves?
We struggled with this. It took three different profiles before we found the one that fit. The first leaned heavy on design skills and experience with specific frameworks. Our final profile looked closer to a fullstack role, with an emphasis on the frontend, and it put way more weight on candidates that knew our core stack—Rails.
The better you can understand this profile at the beginning, the easier finding the right person will be. This leads us right into our next point, iteration.
3. Don't be afraid to iterate
If you're fielding applications and reaching out to prospective candidates and the interviews aren't working, you should have a pretty good idea why. Either your team is saying “no”, or the candidates are. As you can see by the evolution of our profile, our interviews with design-oriented candidates weren't going well.
In our eyes, the missing piece was attention to detail and design, but in the eyes of our candidates, it sounded like we needed a Rails developer that could focus their attention on the frontend—and enjoy it. We adjusted our listing to Frontend Developer (Rails + Stimulus + Tailwind). Not subtle, but it put our expectations at the forefront.
The takeaway here is that you learn a lot by interviewing. Just as user testing can tell you more about your product, interviewing can tell you more about the role you're hiring for. Iteration should happen quickly. You want to avoid wasting the time of candidates who—unbeknownst to you at the time—might not really be what you're looking for. We found that it was best for the hiring manager and talent/hr to meet weekly to assess any shortcomings in the process and profile.
4. Involve the team
From profile setting, to interviewing, it helps to involve the rest of the team. It allows for the creation of a system where candidates aren’t asked the same questions by different people in different calls, and ensures that everyone understands the goals of each interview step.
In our case, the screening calls are normally focused on finding a match in terms of communication and culture, and are often conducted by non-technical team members. When we’re interviewing engineers, it helps to have our own engineering team explain what they’re looking for, what questions we could ask to get that information, and what we should expect from the answers we’re given. It seems obvious, but sometimes even hiring managers aren’t as keyed in as individuals in roles closer to the new position’s needs.
5. Consider the candidate's time and energy
The problem with hiring when you aren't entirely clear on the role is that you spend lots of time talking to people that end up not being great fits. More importantly, you take the time of those candidates. Throughout the process, make sure to consider their time. This applies when you’re very confident in what the role looks like as well.
For us, this meant changing our processes to limit the number of interviews each week to ensure we were on the right track. We make an effort to get back to each applicant quickly, especially if they don't match our requirements. This also means we get back to matching candidates to schedule interviews quickly. The old format caused problems, as we would schedule interviews in advance, only to find out that the candidate no longer fit what we were looking by the time their scheduled interview time came up.
It takes time and energy for candidates to prepare for an interview, and having it canceled by the recruiter can be disheartening. We can prevent that by limiting the number of people we reach out to each time, even if it means it will take them a little longer to hear back from us after applying—and for us to find the match we are looking for.
Keep the hiring process going
Small startups like ours likely go through similar evolutions in their hiring processes. The tips in this article are only part of the story. We can always get better at what we do, and just as product teams perform postmortems, hiring teams can do the same! Interested in other advice and learnings from our people and talent team? Let us know @trybearer.