This is a pretty up-to-date question, and I heard this question from almost every second client. The lack of tech talent locally or unreasonably costly for you to hire in-house engineers - the most common reasons they start to search.
First of all, you have to determinate what kind of developers you need. For example, if you have a really tiny project or just need to make a small upgrade of existing software - you can hire a freelancer (it's a cheap and easy way). But if you have a project for creating an application for both IOS and Android - in my opinion, you have to search for a software development agency.
Also if you are the non-technical person you need to let's say guidelines along this way - so better choose the company, who has a solid experience in such things you're going to build.
Recently I wrote the article ( https://kitrum.com/blog/where-to-find-software-developers-with-reasonable-rates-for-a-startup-business/ ) and fully described the ways and methods of hiring software developers. I believe it'll be useful to you.
My personal tips: don't rely on the first-pages results from Google search. While software development companies pay for great SEO and PPC campaigns doesn't mean that they top-notch professionals in building applications or software. And, yep, Clutch is one of the most reliable and trustworthy platforms for finding developers even through they verify each and every review. From my own experience: they called our client to understand is it the truth that he satisfied with our cooperation. So this listing pretty truthful.