Hiring For a Distributed Team
Finding, interviewing and hiring high quality engineers is a challenge. Doing it with remote candidates makes the challenge more interesting, particularly for someone with little remote team experience like me. I suspect we have all done some part of hiring, like screening, over the phone. But to hire someone who never met face to face with anyone in the organization can be nerve wracking for the unprepared.
So why bother? To get the best engineers! When you hire engineers because they are exceptionally skilled, not because they live in the next town over, the pool of available candidates is bigger. This is not the same as off shoring, where the primary motivation is to hire from a specific geography based on cost. I am talking about finding the cream of the crop no matter where they live.
We do the usual stuff to find candidates: job boards, social media, networking, web site job postings etc... When the time comes for an initial conversation the phone still rules, however scheduling that call may involve getting up at night to accommodate an eleven hour time difference. Not a big issue, but different.
Even this early in the process, the final employment location will play a role. Where can the company legally employ someone? What about as a contractor? Do we need people to relocate? Even though we embrace our distributed team, sometimes we must hire for a particular geographic location because the position needs to be close to major customers, be available during specific times or work closely (face to face) with other parts of the organization. Opening yourself up to distributed employees does not mean you have to say no to local employees. If the perfect person is local we want them too!
The main obstacle to finding remote employees is not including them in your search! There are plenty of ways to source candidates from around the world if you open up to the possibility.
As we interview new candidates, it is important to evaluate their technical ability. We have a technical test component to our interviews as well as technical discussions with the candidates during the interviews. The technical test is structured in a way that allows remote preparation and is close to the real world experience of working on the product. Since open source is a major component of our business we also get to review the work of contributors. This is the ultimate technical test and lets us evaluate engineers before we even discuss a working relationship.
The other big part of the personal interview is the evaluation of communication skills and team fit. Is the candidate able to express/share ideas in a remote conversation? Remember, a lot of visual cues are not available, and neither is a shared white board (yes there are technical solutions for that, but quite honestly, they are not the same IMHO). We look for the same attributes in a remote candidate as we do for any candidate: do they share the core values driving the team like technical excellence, quality, customer focus, teamwork etc…
During the interview we spend a lot of time evaluating whether the candidate is able to deal with working remotely. Reduced in person social interaction and working with remote tools is not for everyone. We look for experience with remote teams, but are open to candidates with experience but who show an enthusiasm and willingness to give it a try. Conducting the interview remotely is a great way to test this.
The biggest hurdle to making an offer and closing a candidate can be your own discomfort with having never met face to face. Even after your candidate passes your tests and does well in interviews, you may be tempted to fly the candidate out “just to meet them”. But ask yourself some questions:
“How is meeting the candidate going to change my evaluation?”
“If I hire them, how will meeting with them improve the work they do remotely?”
The other hurdle in the offer stage is time. The job market for software engineers is competitive so taking too long in the hiring process can cause candidates to go elsewhere. Time zone differences can prolong the closing of a candidate, so special care has to be taken to have all things ready. Don’t lose a candidate because you lost a day clarifying an e-mail address.
Finally, dealing with differences in HR rules and regulations around the world can also be quite challenging. Fortunately, we have a very talented and motivated HR who just makes things happen for us. If you are going to have a distributed team the whole company has to be involved, not just engineering. Finance, HR, facilities… everyone must embrace the model.
We are growing at a rapid pace, on track to double in size this year. Management at all levels, and in each function, embrace the remote model and are proactive about addressing challenges. I have hired several engineers whom I have yet to meet and it turns out they are some of our rock stars! Now, if you feel like joining a high performing distributed and at times co-located team like ours, check out DataStax Careers to see if there is a position that matches your skills.
DataStax has many ways for you to advance in your career and knowledge.
You can take free classes, get certified, or read one of our many white papers.
register for classes
DBA's Guide to NoSQL