CTOs Worry About: How to Hire Remote Engineers
In this edition of What CTOs Worry About I’m going to take a little departure from the norm. Instead of summarizing common wisdom and advice from other CTOs, I’m going to share with you my personal technique for finding and hiring great remote talent.
Over the last decade the bulk of my engineering hires have been US-domestic remote employees. I generally hire full-stack developers, but this technique can be adapted easily to front-end devs and, slighly less readily, to backend developers. This technique also works best for hiring mid-level engineers; you will find it more difficult to use for senior talent.
First, Use a Virtual Assistant
You could do this stuff yourself, of course, but you’re a manager and this is not the highest-leverage task you could be doing with your time.
Bring on a VA that’s good at web research and scheduling. Instruct them to look for portfolio websites of developers who have been freelancing for a couple of years.
- Obviously, the portfolio sites they look for should include the relevant technologies. When hiring full-stack devs I tell them to look for people who put some amount of care into their sites. They don’t need to be beautiful, but they need to be “designed”. Bonus points for links to live projects or a GitHub. Bonus points for a technical blog component.
- (When looking for backend devs, I’m ok with just a technical blog and a GitHub.)
- You want them to find freelancers who haven’t been freelancing for too long, but still seem to be successful in their practice.
- Freelancers who have been doing it successfully for more than a year or so are likely to be independent, self-starters, good communicators, and used to working remotely.
- Freelancers who have only been doing it for 1-2 years are more likely to want out. Freelancing is a tough slog and seems more romantic than it is. There’s a sweet spot you’re looking for: they’ve freelanced long enough to develop those important skills, long enough to be sick of the slog, but not so long that they’ve proven they want to stick with freelancing.
Have your assistant find 25 of these per day or so and dump ‘em in a spreadsheet.
Prune, then Phone Screen
Your virtual assistant may need a couple of review and pruning rounds before they start finding the exact right profile for you.
At this point you should have a freelance project queued up and ready to go. Have your VA schedule time to do phone screens with the appropriate candidates.
During the phone screen, make the following things clear:
- You will start with one small isolated (5 hour) freelance project.
- You will have a regular cadence of small and medium freelance projects after that.
If the candidate does well on the phone screen, hire them for the freelance project. Because a single isolated project is a relatively small commitment for you, you should make the interview process a small commitment for them as well. Don’t drag them through the slog of a 3-interview process. Just a 30 minute phone screen is enough. You will be evaluating them constantly over the next three months, so don’t worry about getting it perfect right now.
Go from Project to Retainer
Now you’ve got a contractor on board. I’m not going to give advice here on how to make isolated projects successful (that’s a topic for another issue!), but make sure you get them all the support they need to accomplish your ~5-10 hour freelance project.
There are three possible outcomes: they do poorly, mediocrely, or well. If they do poorly then you simply won’t rehire them for another project, and you haven’t really spent all that much on the small project. If they do well, queue up another project for them.
If they do well on that second project, negotiate a retainer. You will most likely be able to get a reduced hourly rate in exchange for a consistent 10-15 hours per week. If you paid, say, $100/hr for the first two isolated projects, it’s likely you can reduce the hourly to $60/hr during the retainer period. Freelance hourlys are expensive because they need to cover the downtime in between projects. Remember the advice from step one: you’re looking for people who are probably sick of freelancing. Odds are they’ll be thrilled to get some steady work for a 3-month term.
For the next three months or so keep up the retainer work. This retainer period is in lieu of an onerous interview process — and frankly, it’s better than an interview process. You’re working together and learning about each other, but not yet committed to each other. You’re also not wasting their time, and they’re not wasting yours; you’re getting productive work done and they’re getting paid.
If things are going well so far, allow your team to start working with them more closely. Get some cross-polination going. This is essentially a highly productive two-way interview process.
Extend the Full-Time Offer
After a few months of retained work, you’re going to know exactly what you want to do. There are three options: you can keep the freelancer on retainer as-is, let the contract lapse and move on; or extend a full-time offer.
In my experience, if you get to this point the conversion rate to a full-time employee is very high (assuming your company is a good place to work). You’ve been evaluating each other for the last three months, and both parties will just know at this point. Your team has had opportunities to work with the freelancer, and vice-versa. The freelancer has a very good idea of what life will be like at the company; and likewise you have a very good idea of what their work product, communication skills, and temperament will be moving forward.
Anecdata, Expectations, and Why it Works
You may be concerned off the bat about the success rate of that initial freelance project. After all, if the project is an utter failure, or not usable in your product, you’ve just wasted wasted money! And it is true that the first project is the riskiest. In my experience it goes in thirds — out of three freelancers, the breakdown will be:
- One is a total flop. Pay them anyway, but don’t work with them again.
- One is in a grey-area. The work product looked good from the outside, but it wasn’t really to-spec and it had a number of significant issues. Pay them, but keep looking.
- One will be successful all-around. This is the one that you negotiate a retainer with.
This is why you should choose a small and isolated project for the very first one. A 5-hour project will cost around $500-750 (or so). Frankly, spending $1,000 to find a good freelancer is totally worth it (compare to totally absurd recruiter fees). That third person, even if they don’t convert to full-time, can still be a highly productive contributor.
Personally, I’ve never had a case where I wasn’t able to negotiate a reduced hourly in exchange for a retainer. But I suppose that is a risk as well.
Another possible failure point is the retainer period itself. I’ve had a couple of cases of ending the retainer early. I believe that this was largely due to my laziness early on in the process — not wanting to start the process over again, I probably brought a couple of people into the retainer period that I shouldn’t have.
The final failure point is the conversion from retainer to full-time. In my experience, this conversion rate is very high, around 90%.
When you add it all up and calculate the full-funnel conversion, you’ll end up spending around $2,000 to put a handful of freelancers through the process and convert one into a full-time employee. This is way cheaper than a recruiter, and most importantly that money was spent on work-product. It’s not necessarily a “wasted” $2,000 — you still got real work for that money! On average, I’d say the “wastage” is only about $500; that comes from failures in the first small isolated trial project.
I’ll also note that on average, my retention for employees hired in this manner is four years, and their full-time salaries end up below market, since you’re hiring out of Ohio, West Virginia, and so on.
I’ve had a ton of success with this method over the years. It may or may not work for you, but if you’re looking to start hiring US-domestic remote engineers, you may want to give this a try.