As more and more businesses launch initiatives to move their products or services online, the importance of finding top-notch technical talent for mission-critical projects is greater than ever. However, with this transition comes an entire set of new challenges revolving around the following problem: How do you hire a great developer? Do you check out the classifieds or turn to online freelance marketplaces? Perhaps you think it’s best to hire a professional recruiter, or consult colleagues with more experience?

We’ve covered the topic of hiring web developers in the past, but anyone who has recently tried to hire (and keep) skilled developers knows that this is a really tough issue to solve, with the demand for talent far outweighing the supply. The correct answer is a combination of all of the above, and much more.

To help you in your search, here is the ultimate guide to hiring great developers.

Hiring a Developer Online

We’ll start with a method that has been around for a while, but has recently seen a strong surge towards consistent quality and results, if you know where to look: online talent marketplaces. Many people are already very familiar with the big ones that have millions of freelancers on board, but the problem with these traditional open marketplaces has been highly variable quality of talent and a frustrating lack of oversight. With so many listings and developers vying for work, big platforms are susceptible to bidding wars, which tend to drive prices down, along with quality.

While you may find “good enough” developers for cheap on these open marketplaces, using these for mission-critical projects is a surefire way to see your most important initiatives go over-budget and over-time. With software projects being risky enough as it is, the prospect of dealing with buggy code written by subpar developers usually just isn’t worth it. I’ve had to deal with this with my own startup Due. When I purchased the site there was some horrible code in there. It was written by a “good enough” developer. I have since learned that you really need to pay attention to the details.

For this reason I’d like to offer a couple tips of advice for outsourcing to smaller dev shops or lower tier but more affordable options:

Check the developer’s references beyond the network itself.
Read all feedback, learn to spot anything suspicious.
Stay away from very low hourly rates; if it looks too good to be true, it usually is. I find that most coders know how to price their code.
Make sure to write a detailed project description–it will save time later on. Most developers aren’t that good at figuring things out or any type of problem solving.
Prepare a series of tests and a screening process that will eliminate subpar candidates. I’ve used RemoteInterview.io in the past and it seemed to work really well to screen candidates.
If you use integrated billing and timesheets, select the milestones wisely and know what’s expected.
Be mindful of cultural differences, language barriers, and time zones (if hiring halfway across the globe). This was horrible for my first company dealing with the programmers never being online when I was.

While these tips may lead you to success on these big sites, excellent elite online talent marketplaces have emerged now that provide guaranteed quality, constant support, and rapid ramp-up times that allow you to scale your teams quickly without risking a bad hire.

For example, Toptal (who I’m a big fan of) is a service that’s designed to solve the shortcomings plaguing huge freelance markets. Toptal rigorously screens its developers and boasts an acceptance rate into its network of just 3%. Their team of engineers will save you time by custom-matching you with tested developers who are well-suited for your project, and the network offers a no-risk quality guarantee, saving you from dealing with large volumes of applications from unproven freelancers. It’s geared toward serious businesses that can afford top talent, so it might not be a relevant solution if you’re on a tight budget, but they do provide many great free resources like freelance hiring guides that may be useful.

So, if online freelance platforms aren’t for you, what are some alternatives? What about hiring locally if you need an on-site developer?

Old Tricks Still Work

Traditional methods, namely classifieds and word of mouth, can still be used to source and hire developers. This is especially true if you are looking for someone to fill an on-site position.

Running a few job ads and promoting them on social media, or some community sites, could work in some situations. I even had luck running an add on TechCrunch back in the day. Not sure if they still do that but I found the most talented programmer in the world by someone that saw the add.

Online classifieds like Craigslist are another option. While Craigslist and similar sites lack a number of features found on dedicated freelance platforms, they can still be used for sourcing; especially if you are looking for local talent. Special note here: there are many subpar people on CL (and everywhere) so make sure you interview or have someone who knows what they are doing interview here.

Professional networks like LinkedIn should not be overlooked, either. This may involve more “legwork” on your part, but if you know what you are looking for, it should be worth it. Instead of hiring a professional recruiter, you could do much of the work on your own. Remember, head-hunters don’t come cheap.

Lastly, you can always use the oldest trick in the book–personal references. This may not be practical for everyone, but if you have had a professional relationship with many developers over the years, approach them and ask for their help and advice. Talent rarely goes unnoticed, so a few friendly phone calls and emails may yield some very useful information.

What to Look For in a Developer?

This obviously depends on your specific needs, but nonetheless, some general rules apply. Technical skills are always at the top of the list, but they’re not everything.

You also need to:

Ensure a good cultural fit–technology changes, but people don’t.
Make sure that your team approves and that the developer is a team player.
Check whether or not the new hire will stick around for the duration of the project.
Take a closer look at the developer’s track record and willingness to embrace new technologies and professional environments.
Make your job pitch appealing to A-level developers.

In terms of the hiring process itself, time is of the essence. Sourcing, screening, interviewing, and onboarding take a lot of time and effort, and rushing things almost never ends well.

Make sure that you:

Set aside enough time to find an appropriate candidate. There are no shortcuts!
Do your homework, devise good interview questions, and prepare an attractive job description. Special note: have someone else who understands this do it.
Consult your team every step of the way.
Keep your expectations realistic.
Decide a salary limit before proceeding to source candidates. Devs can get expensive.
Don’t make promises you can’t keep, and make sure the trial period protects your interests. I like to give 90 days trial period. Google does 180 days. Lots of top companies do the same.

The last point can easily be overlooked even by seasoned employers, especially if they are dazzled by the candidate’s extensive references and skills. However, even dream hires can turn into nightmares and no matter how hard you try, and you cannot be absolutely sure you made the right decision until it’s too late.

Therefore, it is always a good idea to keep a close eye on your new hire. Check in with them on a regular basis, and don’t assign them any vital responsibilities until the trial period is over (unless there is no other option) and you are absolutely certain the job will get done–on time, on budget, and with a sufficient degree of quality.

Here’s to hiring the top developers in the world!

Published on: Jul 7, 2015
The opinions expressed here by Inc.com columnists are their own, not those of Inc.com.