When it comes to hiring engineers, it’s hard to argue with the benefits of going remote.
For one, without geographical constraints, you get access to the best and most diverse talent. No central office means a lack of overhead and leaner operating costs. And with lower expectations on when and how they work, you’ll end up with a workforce that’s happier and more productive.
As Phil Freo, head of product and engineering at the fully remote startup, Close.com, told us (and has written extensively about):
“When recruiting, it was hard to stand out in Silicon Valley among all the other tech startups hiring. But among remote positions we were easily able to stand out as a very attractive option to candidates. It means we get to hire the best people from all over the world.”
But like anything that seems too good to be true, hiring a remote engineering team is filled with potential issues and downsides.
Humans are social creatures by nature. We’ve evolved to trust people we see and interact with on a daily basis. And despite technology making us feel closer than ever, there’s still a disconnect and a level of risk when you’re talking to someone thousands of miles away from you.
So how do you hire, develop, and grow a remote engineering team that collaborates well and shares your company culture? We spoke to founders and engineering team leads at 5 distributed startups to understand that secrets of hiring and developing the best team of remote engineers.
How to find, interview, and hire remote engineers
Hiring a new remote engineer is a huge undertaking, no matter what size or scale your company is at. To make it run as smoothly as possible, here are some tips and suggestions on how to run your hiring process.
Step 1: Decide if it’s the right time to hire for your team
No matter how well-prepared you are, hiring is a hard, slow, and often painful process. People are expensive and need attention and nurturing to do their best work.
When you hire too early, you run the risk of not getting the most out of your new hire. They’re expecting you to help them become a part of the team, and if you’re stuck putting out fires constantly, they’re going to flounder.
On the other end, hiring too late means you’re stressed to find the right person. You won’t always be able to, and hiring the wrong person can be an expensive mistake.
So, when should you look to hire?
Ideally, you’re in a position where you’ve been doing the work for a while and really understand the requirements that you want to hire for. You’ll be in better shape to write the job description and identify good people.
You should also be prepared to go through the hiring process. This means committing to spending up to 50% of your time searching for, screening, and interviewing potential hires for sometimes a few months. This might seem like a big commitment and that’s because it is. You can think of hiring as firing yourself. You’re bringing in someone to replace a core part of your workload. So you should feel like you can trust them as much as you trust yourself.
As Apple founder and former CEO, Steve Jobs, famously put it:
A small team of A+ players can run circles around a giant team of B and C players.
Take your time, know who you’re looking for, and hire when you know you can give them the resources they need to thrive at your company.
Step 2: Make your job attractive to candidates and set up your hiring pipeline
When you’re competing for the top remote engineering talent, you need to do more than just throw some technical requirements on a job board listing. Your job description is the first touch you’ll have with any potential hires. And it’s important to get it right.
(We’ll cover where to find great remote engineers below).
Here’s what Close.com’s Phil Freo suggests:
- Sell your company and the role: Competition is fierce for top engineering talent. To hire an all-star away from a deep-pocketed competitor you need to get them excited to work for you. This means no business speak or cliches. Be honest and transparent about why you do what you do, and why they should want to join to.
- Highlight example projects: Don’t just put a list of technical requirements. Show a candidate what they’ll actually be working on.
- Get feedback on the job post from people you think are good at that role: Ask them if they’d apply for this job and why? What connects with them or makes them question whether this is the right fit.
If you’ve done this right, things can get hectic fast. There’s a fine line between “Great! People are applying for the job” and “Oh my God, there’s so many emails.” And when they start to pour in, you’ll want to be in a position to respond to them actively and manage your hiring pipeline.
You can use an Applicant Tracking System like Homerun, Greenhouse, or Lever. Or, better yet, manage candidates in your project management software like Planio by setting up a specific board and leaving notes and key information about each person. This way, everything you need to know about a candidate is in one central place.
Step 3: Reach out to people in your network for referrals
Finding remote engineers isn’t always as easy as putting up a job listing and waiting for the candidates to roll in. And unfortunately, along with having access to the best talent, hiring remote engineers means you’re competing against every other company out there: both local and remote.
Instead of simply relying on cold leads from job sites, here are a few alternative ways you can attract the right remote engineers:
- Look in your own network: If you’ve hired good people, they probably know other good people.
- Search your user base: Your users already understand the product and believe in your company.
- Blog posts (about your company and around your values): If you can sell your company and the role beforehand, you’ll end up with a higher quality of candidates. Buffer is especially good at doing this by writing about their company values and being incredibly transparent on everything from company hierarchy to pay.
- Referrals from investors: Investors (if you have them) usually have a great network of companies and people that they’ve worked with. Mine that.
- Social media: Not everyone is actively looking for a job, but might be excited if they know you’re hiring. Be open and expand the reach of your job posting to your social media followers.
Step 4: Decide what you want to look for in remote engineer candidates
Now that you’ve got some candidates coming in, how do you know who to move forward with?
The first thing you want to do is look for any glaring red flags. This could be poor communication skills, missing basic instructions, a lack of attention to detail, or not putting in the effort you expect into the application.
If there’s no red flags, you should check to see if they meet the skill requirements for the job. Don’t just go by what someone’s written on their application. Instead, you should check out:
- Past work: Do they have an online portfolio they’ve linked you to, or any public Github repositories you can check?
- Open source projects: If they’re contributed to open source projects check those out. However, not everyone has time to work on public projects and that shouldn’t be held against them.
- Contract work: It’s usually a waste of time to give engineering candidates a code puzzle. Instead, Y Combinator’s Sam Altman says whenever possible, you should have someone do a day or two of paid work with you before you hire them. This way, the interview process is much lighter as the proof is in the work delivered and paid for.
Step 5: Reject unqualified applicants quickly
You should know pretty quickly whether you want to move forward with a candidate or not. In the latter, you want to reach out quickly and tell them they’re not being considered. If someone took the time to apply for your position, you should be equally respectful in telling them you’re looking elsewhere.
Here’s an example rejection email from Zapier CEO Wade Foster:
Thanks for your email! Loved hearing about [insert something interesting they mentioned from the app]. That said, we're moving forward with other candidates at this point.
Best of luck and hopefully you'll stay in touch. We post new positions periodically and would love to see your name again.
The email is short, personal, and clear that you’re moving on. Ideally, you should send this within a few days of getting their application, so try and set up email templates to make this easier.
As Close.com’s Phil Freo explains, the goal is to make everyone who interacts with your company impressed by you and want to tell their friends, even if they’re the wrong fit themselves.
Step 6: Set up calls to assess skills and culture fit
If you’re happy and ready to move forward, it’s time to set up a screener call with your candidates. However, there are a few things you should be careful at this point.
First, don’t spend the call explaining the role and talking nonstop. This is your first opportunity to get to know who this person is more than just on paper. So instead, you should tell them what they need to know and then let the candidate talk about their interests, background, and experience.
You might want to ask a few technical screener questions at this point just to make sure you’re all on the same page. For example, discuss part of your technology stack on a deeper level. See if you can get them to demonstrate knowledge without making it feel like a pop quiz.
The goal of a phone screener like this is to quickly get to either a “Heck yes!” or “No way” with your candidate. You don’t want 20 candidates sitting in your “maybe” pile, so spend the time getting good at phone screeners and learn what to look for that tells you to move forward or tell this person “no thanks”.
The best interviews feel like a conversation. So let them talk and ask questions as much as possible and listen to your gut.
You also don’t want to try to cram everything into one phone interview. With remote roles, it’s important to get input from multiple people on your team. And so, you’ll probably want to break the interview process down into a few separate ones:
- Interview 1: Get to know you and ask questions
- Interview 2: In-depth, role-specific interview
- Optional take-home test: Give them a short project to show off relevant skills
- Interview 3: Drill in on missing technical areas, evaluate soft skills, and seniority
What’s great about doing your interview process this way is that, your interviews will also give you a good idea whether the candidate is comfortable with remote work.
Because the interview is already happening in a remote context, it’s a good “soft test” to see if they can handle this style of working. So, while you’re listening to what they say, also listen to how they talk and act. Do they communicate clearly? Are they comfortable using the tools you use to communicate and collaborate?
Step 7: Sync up with all interviewers and share your thoughts
Once a candidate has made it through your gauntlet of interviews, it’s time to sit down with all of the interviewers and compare notes. Does anyone have major objections or are you all on the same page? There doesn’t necessarily have to be total alignment in the decision. But if there are major concerns around the most popular candidate, it might be good to dive deep.
In the end, the process needs to move forward and whomever is leading the hiring process should have final say.
Step 8: Make the offer
At this point, I can tell how you’re feeling.
You can sense the end of this long, arduous hiring process. But as Close.com's Phil Freo reminds us, don’t let that imminent relief cloud your judgement. You’ve gotten this far, and it’s only right to do due diligence before closing the deal.
When you feel like you’re ready to make an offer, here’s a few things to remember:
- Always, always, always do a reference check: This seems obvious, but you’d be surprised how many startup founders pushed this point. When your company is on the line, the last thing you want is to bring on someone who isn’t who they say they are.
- Don’t assume that an accepted offer = position filled: Lots can happen in between making an offer and the start date. Don’t feel like just because the candidate has said they’ll join that they actually will.
- Make more offers than you think you’ll need: You won’t always hire the right person. And you should be wary of burning all the bridges with other candidates before you feel confident in your choice.
- Keep selling the role up to the start date: Get the candidate excited about the job coming up to the start date. Send emails with blog posts, link them to reviews, or share fun and exciting “insider” info.
- If you’re not 100% do a trial period: A trial period can be great for both parties to make sure it’s a good fit. Take a month or two to make sure you’re both happy and that expectations are being met. You want to hire someone who will be with you for years, and a few months of extra work are more than worth it.
If all goes well. Congrats! You just hired a new remote engineer.
Onboarding new remote engineers
Your job doesn’t stop just because you hired a new engineer. In fact, it’s just starting. It’s never easy joining a new team. And when you’re hiring remote engineers, the first few days and weeks set the tone for your entire working relationship.
The last thing you want to do is talk about how much you value company culture and communication and then drop someone in the deep end and watch them drown.
At Zapier, CTO and co-founder Bryan Helmig takes the onboarding process for new remote engineers seriously with a 3-step process:
- Ensure they have an awesome first day/first week experience: “We’ve put in the work to build docs and guides for every new engineer and I always make sure I’m available to help them out.”
- Make sure their development environment setup is automated and joyous: “We have a ‘welcome.sh’ with emojis and step-by-step helpers to get them set up.”
- Get them shipping something ASAP: “Even a typo fix is perfect. You don’t want them disambiguating true technical complexity vs. unfamiliarity. Make it an obvious fix and let them learn about process and deploys. Then introduce complexity.”
Additionally, RescueTime COO, Mark Wolgemuth, says it’s important to introduce new engineers to the team and have them work with their new teammates.
“I try to set up several pair programming or task solving sessions with other engineers right away. Sometimes narrow skillsets make this a little challenging, but I have no problem pairing a client engineer with an API engineer. Because in the end all of our stuff is interacting and the problems are holistic for the most part.”
One of the best ways to boost productivity and motivation for new employees is to help them understand why their work matters. Unfortunately, as the authors of The Strategy-Focused Organization found, only 7% of employees fully understand their company’s business strategies and what’s expected of them in.
By pairing up new remote engineers with different people across your organization, you tackle this problem head-on. First, they get a chance to see how things work on the inside and learn from people who understand your process. This makes it a comfortable environment to test and ask questions.
Next, they get to see the larger picture of how all the pieces work together and why their work matters.
Lastly, you’ll want to make sure they’re set up and comfortable with the right collaborative tools to be able to get answers quickly. Ideally, that would be:
- Communication tools: Your new team mates should feel like they can ask questions whenever they need to. A messaging tool like Slack is a must-have for collaborating remotely.
- Video calls and screen sharing: Being a remote team mate can be lonely, especially during your first few days. Regular video calls and screen shares to run through processes and tasks are a great way to help onboard and make them feel like a part of the team.
- Project management: As your new remote engineer gets into their actual work, they’ll need somewhere to see what’s expected of them and what’s coming up. Use a project management tool like Planio that has integrated Git and Subversion repositories, as well as wikis and internal blogs to share information and processes quickly.
Above all, use the onboarding period as a time to make sure you’re still excited about them (and they’re still excited about you). Check in at the 30-day mark and see if there are any concerns. It’s better to end a relationship early than let it fester and bring down the entire team.
How to create a company culture with remote engineers
One of the biggest challenges most remote teams have is building a sense of culture. When you’re all together in an space, it’s easy to have small talk and get to know each other. To work long hours when there’s deadlines to hit. And to share a sense of purpose and meaning in the work you do.
But when you’re miles apart, this can be hard to do. Communication gets missed or misconstrued. Silence gets read as being unavailable or not caring (even if you’re just heads down in work).
As you’re developing your relationship with this new hire, you need to be especially careful about reminding them why they want to work for you. It might seem like a little thing, but your energy and attitude goes a long way in shaping how a new remote engineer feels about your company.
The hardest thing for me is making that person feel at home and part of a cohesive, supportive team, and making our culture reveal itself as attractive to that person as it is to me,” says RescueTime COO Mark Wolgemuth.
Transparency, honesty, and energy go a long way to help get your company culture across.
At Buffer, who have a fully distributed team of 27 engineers, director of marketing, Kevan Lee, explains that a big part of this comes from connecting new hires to veterans:
“When a new teammate comes on board, there are three veteran teammates who come alongside them to support her or him in the new role. Each of these three people has a different focus; it's typically a lead (manager), a teammate to provide role support, and a teammate to provide culture support. In weekly calls during the first several weeks of onboarding, the culture ‘buddy’ allows for space to discuss and share about the company values.”
For example, for one recent hire, Kevan says the onboarding team spent their first introductory culture chat sharing personal stories about how they came to Buffer.
“This helped reinforce our values of bringing your whole self to work and being willing to connect deeply with your teammates.”
At InVision—the design and prototyping platform—senior engineering manager Jeremy Wight takes it a step further and facilitates a team-wide book club where they read and discuss books on personal development and growth:
“Everyone reads a chapter a week and we spend half an hour discussing it as a group. What’s great is that the books allow you to think differently and bring up perspectives and opinions about the values that we hold as a company.”
Additionally, Jeremy says it’s incredibly important to find ways for new remote hires to connect not just with their own team, but with people from other teams. Something as small as a team building game to start off your meeting can help. Or, in the case of InVision, they create Slack channels based around interests like running or cryptocurrency, and also host a cross-team “remote happy hour”:
“You need to find ways to create those social connections, because that’s what helps people work more effectively together. When you get to know somebody on another team and have to work together, you already have a relationships. Just by having that information connection, it breaks down the silos that naturally get built up in a remote culture.”
Making sure there are opportunities for ongoing development
The final step of solidifying your new remote engineering hire as part of your team is to show them how you’re invested in their future. Because you’re not seeing each other everyday, you want to be extra careful in showing them there are opportunities for growth, feedback, and experimentation.
In remote situations, it’s easy for people to get disillusioned if things aren’t going well or the company is going through a rough patch. And as the person who hired them and manages them, they’ll look to you to show them that everything’s ok.
Here’s a few tips for ongoing development, especially in the first few months of them joining the team:
Book extra one-on-ones in the first few months
The first month for a new hire is crucial. But so are the second and the third. Once they’re settled in and the honeymoon period is over, they might start to notice things that don’t work for them. Make sure you have lots of opportunities for feedback not just on the work, but the culture, their relationships with other teammates, and how the company operates.
Organize “show and tells” for engineers to show off what they’ve been building
Seeing progress is one of the best ways to keep your team motivated. And when you’re heads down on a new feature or big fix, it’s hard to really see the bigger picture. Even just a short shot and tell session once a week or month to go over what people are working on can be a great way to keep new hires excited and committed.
Plan “mini meetups” to bring your remote team together
Being a remote team is an amazing experience. But nothing really beats spending time in person. As RescueTime’s Mark Wolgemuth explains:
“You should not neglect the real importance of actual in-person co-working and planning time. I make it a point to take the time to plan out small meet-ups with shifting subsets of our team. This keeps the personal connections growing and let's people make connections with each other.”
This in-person time shouldn’t just be massive planning sessions either. Take the time to schedule half a day for unstructured hang-out or work time. Yes, your limited time together is precious, but so is taking the opportunity to regenerate social energy and avoid feeling like they are neglected.
How and who you hire will determine the success of your company. It’s that simple. And while being a fully distributed team has some incredible advantages, it also can make hiring more complex than meeting someone in person.
Take the time to really get to know your candidate and get comfortable with the remote hiring process. There’s no greater growth hack than hiring the right people.
Hiring the right remote engineering team is only part of the puzzle when it comes to being a successful distributed company. Check out our complementary guides on How to Manage a Remote Team and How to Work on a Remote Team.