Digital agencies often times decide to hire remote developers, whether it’s because they do not have any in-house developers, their in-house developers don’t have enough time or their in-house developers don’t possess the required skillset for a certain project.
Hiring remote developers, especially for agencies not going through these motions regularly, can be a rocky road. During the past twelve years or so, I have been on both sides of this equation numerous times, either hiring remote developers or being hired as one. This gives me the unique advantage of being able to share tips and insights to make the process of hiring remote developers a bit smoother on both ends.
1. Determine what you need
The first step in this process should always be to work out what you need. You’ll want to try and be as specific as possible:
- What’s your budget?
- How long long will you need your developer for?
- Could this contract develop into a long term relationship?
- You’ll also want to come up with a project description. Since this project description only serves the hiring process, there’s no need to to give a full and detailed description of the project (short and to-the-point will be best).
- Come up with a desired process for working with the remote developer: what will daily interactions look like? How often will they need to show results? And other details as appropriate.
2. Find referred developers in your network
When hiring a new remote developer, my first step is always to reach out to my network and see if anyone within my network can provide me with valuable referrals. Of course you will want to make sure that whoever is providing you with a referral is in the position to objectively give out good referrals. A colleague who’s a project manager for a large software company would sound like a solid candidate to give you a referral. A content writer you have worked with in the past, producing marketing articles for your blog, might not be. Point being, make sure you know the person providing the referral. I typically have a number of specific people I would ask for referrals, however social media such as Twitter and Facebook can work well too.
3. Be mindful of cultural differences when hiring from other countries or cultures
Although it seems awesome that in this day and age, digital agencies can benefit from the fact that the whole world is online and interconnected and therefore can easily hire developers on the other side of the world for $10 an hour, I typically would advise against it. If you’re based in the Western world and have experience working with Western people, stick with hiring Western developers rather than developers from other parts of the world. However, if you do have experience working with people from other countries or cultures, hiring remote developers from those countries is obviously a good option.
Now, I am not arguing that Western developers are typically better or more qualified. However I have witnessed numerous times, and personally experienced numerous times as well, that cultural differences put additional strain on professional relationships and often lead to problems causing delays or worse.
4. Appoint a single person managing the remote developer
When dealing with remote developers on a daily basis, it definitely helps if there’s a single individual managing the remote developer. This might sound obvious, however when I was still a freelance consultant, I regularly found myself in a position not knowing who to contact in the hiring organization after having spoken to three or four different people. Having a single point of contact makes communication a whole lot more efficient!
5. Do a video chat with the person you have hired
After hiring dozens of remote workers over the years, I have found that doing an in-person video chat before starting the project often results in a better professional working relationship. Additionally, I have found that by doing video calls at the beginning of the relationship, typically the developers tend to stay with us longer. There’s something about actually seeing a real person, from both sides, that makes it more personal somehow. I can’t really put my finger on it, but I have found it does work! Sidenote, when scheduling a call with the remote worker, you should have already decided you are ready to start working with him or her. I don’t do video calls as part of the hiring process in most cases.
6. Use a small sample project during your hiring process
Personally, I am not a fan of lengthy hiring processes which include multiple interviews and assignments. I sometimes start by having a look at a candidate’s previous work. However, often I don’t even bother with this, because I have found that online portfolios and provided work samples are heavily curated and often do not represent reality.
I have found the most efficient hiring process is simply giving a small, bite-sized project to a candidate, for which we obviously pay. Yes, it means the hiring process ends up costing a little money, but it beats going through an extensive hiring process which results in hiring the candidate, only to find out four weeks into the project that he can’t code his way out of a paper bag. I typically come up with a project which can be completed within a week.
If possible, I try to find a project which somehow relates to the project we’re actually hiring for, however I have also used testing projects which had nothing to do with the project for which we were actually hiring. The key is to find a project with a crystal clear scope which you’re certain can be completed within a fixed timeframe.
7. Try to stay away from agencies
Unless there is no one within your organization who can manage the remote worker, be it due to lack of technical knowledge, management skills, or whatever reason, I would always advise to stay away from remote agencies. The main reason I don’t like working with them is that they typically prevent me from interacting directly with the developer. Instead I would have to interact with a project manager, who will himself deal with the developer. This adds another, often unnecessary, layer of communication which means a bigger chance of miscommunication and other possible problems. Other downsides of dealing with agencies are that they often cost more, provide no guarantee you can have the same developer for future projects and typically are less flexible on working hours.
These just a handful of, hopefully, useful tips when it comes to hiring and working with remote developers based on my own experience of both hiring remove developers and being hired as a remote developer. Please feel free to share your own tips in the comment section below.