There are perhaps hundreds if not thousands of websites and services that can help you find a developer for you. I’m sure you have heard of them and probably used them too.
If you have a background in IT or are keen on learning new skills, it wouldn't be much problem to find the right person based on their theoretical knowledge however, that doesn't guarantee wider aspects of their work such as time management or communication skill.
In this article I’m going to discuss some points that are useful if you are new to this field.
The easy answer
Common sense rules and when it comes to choosing the right person, the easiest option is to go with the person who charges the most. Of course there are exceptions but in general that is the case. When a professional charges a lot for their services, it shows that there is a high demand for their time therefore they have to choose the highest bidder.
If you have enough budget for the development, go with the best candidate. You might save some money in the short term choosing a low budget developer but chances are you will lose more time and money on the long run dealing with the low quality code and all the bugs and headaches that will come with it.
However, if you are tight on budget, continue reading.
Avoid paying hourly rates
Here’s the thing, you really don’t know how long it takes to make something until you finish it so almost all estimations are incorrect. Experienced developers usually overestimate and novice ones underestimate. Both are wrong and you as the client end up paying the price.
What can you do instead? Negotiate a contract based on the completion of the project. Agree on a budget that you as the client are willing to provide and let the professional focus on the actual work. I have seen developers or agencies spend as much as 30% of the actual time of a project on estimation which never turned at to be close to the final result.
One too many
How many developers do you need? One to do the backend, one for the frontend and a project manager who does nothing but makes the process more complicated for everybody involved?
My simple tip is to always go with one person who can do it all or at worst the bare minimum. What end up happening when multiple people are doing tasks that can be done by one person is that they lose a lot of time in communication and concurrency. One person waits for the other and the other waits for the one and before you know it days are gone by and the project is still incomplete.
A Full stack developer might be more expensive than a team of junior developers but every penny is worth it. You only have to deal with one person. The miscommunications are at their minimum and the delivery is faster. Of course there are exceptions for instance if you have a big budget and can afford a reputable agency or a team, go for it but when on a budget stick to one jack of all trades.
Here’s a very nice and fairly aged book about the topic.
Long term relationship
No matter if you are building a simple marketing website or an application, always remember that there will be bugs and crashes. It’s not because the developer is bad. Software is constantly changing. The more data you feed into it, the more you can expect weird behavior.
Of course sometimes it’s just negligence of the developer or some outdated underlying library or service but regardless of what the actual reason might be, you should expect problems to pop up which is why it’s important to negotiate a contract that will take into account long term support.
Experienced developers are aware of this fact that’s why they actually offer it as well however you as the client should pursue some sort of long term support for your software.
Conclusion
Finding the right person for the job is always difficult especially if you don’t have a background in the industry. The mentioned points can give you some ideas to at least filter a lot of wrong candidates.