October 8th, 2020

How I find and hire technical contractors


I’m no stranger to hiring freelance technical contractors. But recently, I’ve found myself hiring several developers for a few projects of mine. Here are my thoughts and techniques I used to successfully find, interview, and hire them.

Covered in this guide:

  • How to prepare to talk to technical contractors
  • Where to find great contractors
  • How to interview the candidate
  • How to onboard the new candidate

About me and this guide

It is important to note that I myself am a technical person. In fact, for several years I freelanced myself. I’m not stranger to the freelance world, which does give me an advantage when talking to potential candidates. Something that not everyone has.

In this guide, I’ll explain my process from a more general perspective, with some valuable tips for the more technical readers. Whether you’re new to hiring freelancers or just want to improve your existing hiring process, my goal is that this post will help.

On another smaller note, this guide is tailored for hiring technical freelancers, specifically developers. However, most of the information could be used for other disciplines easily. Just make the necessary substitutes as needed.

Let’s get started!


1: What’s the work?

When you want to hire a contractor, identify the kind of tasks you’re looking to have done. Do you have a “back of the napkin” concept you want built? Perhaps you have very specific tasks you’d like done, like data entry.

How many hours do you estimate you’ll need help? How much is your budget? All these are important to figure out prior because it narrows down your eligible candidates and better prepares you for the interviews.

Helpful Tips

Before reaching out to candidates, here are a few things to think of prior. It's okay if the answers are fuzzy, but the more specific you can be the easier the next steps will be:

  • Tasks or types of work. Some examples:
    • "Design and develop an e-commerce website."
    • "Need a new logo."
    • "Looking for hourly maintenance on an existing platform."
  • Number of hours you'll need (typically measured per week for longer-term projects).
  • Hourly rate or total budget for project.
  • When would you like them to start? Is there an end date to the project?

2: Where do I look?

Next step is where to find freelancers! Here are a few sites I’ve used, with my thoughts on each one:

Upwork/Freelancer/Fiverr

Ideal for specific tasks

You’re probably already heard of these freelancer marketplaces (and there are many more not listed above). I’ve had mostly positive results. However, that’s because I’ve found these sites are best tailored for very specific tasks. For instance, I needed help writing website scrapers to pull information off various websites, and I found someone on Upwork who was very experienced in just that. I had excellent results.

However, that was for a very specific task. Sometimes you may be looking for someone who isn’t just there to punch out code, but rather help consult and provide a more rounded set of skills, such as product validation or monetization strategies. Similar to perhaps the role of a CTO. Especially if your product is in it’s early stages, this can be invaluable as it can put you on the path to success.

I’ve found that it’s harder to find that kind of skillset on these marketplaces. Not that this “hourly CTOs” aren’t there, but it’s easier for those individuals to get lost in the crowd. When everyone is trying to be the top result of the keyword search, the more general skills tend to get pushed down.

Hacker News

Ideal for finding top talent

Hacker News is a social news website focused on technology, part of the YCombinator startup accelerator. Once a month, typically on the 1st of the month, they have a post specifically for connecting freelancers with jobs called “Ask HN: Freelancer? Seeking freelancer?”. This is a great resource, and one I’ve used many many times.

However, it’s not quite as easy to use as the marketplaces listed above. It’s simply used to make an introduction, then the rest is up to you. Communication, contracts, billing, and so on. If you know what you’re looking for it’s typically no problem, but it requires more work on your part.

That being said, my experience is that you will find much higher caliber individuals through Hacker News.

Slack/Discord/Meetup Communities

Ideal for local talent

Check if your city has an active Slack or Discord channel. Most larger metropolis areas have one or two that are specific to a technology and almost always have a job area.

Personal Networks

Ask your friends and family! Have someone who does design? See if they have a great developer they’ve worked with in the past. Did you use to work with a great developer? See if they know anyone who would be interested (or if they’d be interested themselves). It can help turn up a great resource that’s already at least somewhat vetted. Even a post on a social network platform can yield great results.


3. How to evaluate

Now you’ve found someone, and you want to see if they’re a good fit. The first thing I like to do is email back and forth to see if their rate, availability, and interest match what I’m looking for. The goal is to get the big roadblocks out of the way as quickly as possible.

If all the basics align, I like to schedule a 45-minute call, ideally over video. I like to do it over video because:

  • It’s more personable.
  • While scheduling the call, I ask the candidate to prepare a relevant past project to walk through on the call.

This last part is key. It’s difficult to gauge someones technical chops by just talking to them. Having them walk me through a project in 15 minutes certainly isn’t enough to know for sure, but it gives me enough confidence they can walk the walk.

Also the projects picked are typically personal passion projects for the candidates, so it’s fun to hear their excitement and thoughts when they step through it.

On the paid take-home code challenge

One technique I tried for a little bit was a paid take-home code challenge. I would ask the candidate to work on a small real-world issue I was experiencing, and I would pay them for their time. The idea was to simulate a bite-size experience of what it's like working with them.

However, I've since moved to simply doing the code walkthrough. I found just having the candidate spend the time to get onboarded to the project proved too much of a time commitment. And the truth is if you realize a candidate isn't a good fit after you hire them, you can move on to someone else if needed.

Although I keep the call schedule loose, it typically breaks down to look something like this:

  • 0:00 - 0:15 minutes: Discuss project, what I’m looking for, and learn a little about the candidate and what they’re looking for. An interview goes both ways!
  • 0:15 - 0:30 minutes: Ask and answer any questions, get a better feel for candidate’s strengths.
  • 0:30 - 0:45 minutes: If the first 30 minutes went well and I think it’s a good fit, I then ask the candidate to share their screen and give me a high-level run through of the project they picked.

Some general questions I’ll ask if appropriate:

  • What’s your weekly bandwidth?
  • When can you start?
  • What’s your ideal technical stack? How do you feel about the one we’re using?
  • Do you prefer front-end or back-end more?
  • Have you worked with other contractors? If so, in what way?
  • How do you like to track tasks? JIRA board, Trello, GitHub Issues, etc.
  • If in another timezone, what are your typical working hours?
  • Do you accept US currency? Or do you prefer another?
  • For your personal project, are there any parts you’d like to improve upon?

4: Hiring

So you’ve found someone you want to bring onboard. The next steps are fairly straight forward. Send over a contract (or ask the candidate if they have one they prefer), then give them access to whatever they’ll need to get onboarded and working!

If you want a nice freelancer contract, I use an adapted version of the Contract Killer.

One thing that is helpful for both parties is a grace period for termination. I use a 30 day buffer from time of notice. It’s a nice period of time to either find someone else or let the contractor wrap things up and move on.


Final Thoughts

Phew, I’ve laid out my process. I’m always tweaking and adapting it though, so feel free to use what is useful and skip the rest!

If you have any tricks that you’ve used, let me know! And of course, feel free to reach out anytime if you have questions. I’m happy to help.

Happy hiring! 🎉