Have You Already Started Work on Your Project?
If your project has already been started and you have some prewritten code, your task is much easier. You’ll be looking for someone with a specific skillset using the technologies and frameworks you’ve decided on to take the reins and produce the work you are looking for.
For example, if your codebase uses the React Native framework, you’ll be looking for someone with previous React Native experience. Whatever tech your project uses, you’ll want to find someone with good knowledge who can quickly add whatever features or make whatever changes you are looking for without having to later rewrite chunks of code.
Starting from Scratch
If you are starting your project from scratch, finding the right developer is a little more tricky.
The first thing you need to do is decide on a tech stack: the set of software, languages and libraries used to build your project.
Since new tech is developed all the time, a good way to do this is to choose from the libraries and frameworks that are most popular. Usually there’s a good reason developers have gravitated towards a certain tech stack—it might be that it lets them do the same work more efficiently, or because it marks an improvement in performance and quality.
We’ll provide some helpful charts (with links to live data) to give you an idea of which technologies are strongest at the moment in the Jargon Buster section below. You might also ask someone you trust who knows their stuff for their advice. It’s crucial to know what kind of framework you want to use before you start looking to hire so you can find the most qualified candidate.
What Are You Building?
The next consideration you’ll need to make is exactly what it is you’re building—is it a relatively static-content website, a website that has data that is likely to change, or do you need help with storage and/or APIs? You’ll need a different kind of developer for each of these.
Depending on what you’re building, you’ll want to choose from one of the following:
A back-end developer deals with the stuff behind the scenes that keeps an application ticking. They are responsible for things like databases and APIs, among other things. Their code is usually run in the cloud, it does the bulk of the heavy lifting, and is usually concerned more with data than presentation.
What’s the Length of Your Project?
Next you’ll want to think about how long your project is and what kind of tasks you’ll need completed. Depending on the length of your project, you’ll have different requirements of a developer, and you’ll want to restrict your search based on these requirements.
Short with Well-Defined Tasks
If your project requires short, clearly-defined tasks, you’ll be looking to hire a developer who has the specific skills you need to get the job done. This will be cheaper for you as you’ll be able to take on short-term hires who can get in and out and get the job done quickly and efficiently.
You’re most likely to require this kind of work when you already have some code written and just need someone to add features, upgrade or update your project, or perform maintenance.
If your project includes more in-depth and complex tasks, chances are it will be longer. This kind of project can last months and will require a developer with a with a broader skillset.
A hire like this will need to be able to perform many different roles and, as your requirements will likely change over time, they’ll need to help you adapt as your project progresses.
Crucially, you’ll want someone who has good communication skills, especially if you aren’t well-versed in tech yourself. Someone who is able to clearly communicate what they are doing and why will help to improve your understanding tenfold.
This is an invaluable asset, as miscommunication can result in dissatisfaction on your part and frustration on theirs. The better you understand each other, the smoother your cooperation will be.
You’ll also want to consider their past experience. Experience working with other languages is a bonus if your project is a back-end or full-stack project. Developers with well-rounded experience tend to be of a higher quality.
Similarly, you’ll want someone who has worked on a larger project before. There’s a world of difference between writing snippets of code meant to perform specific functions and writing a whole codebase over a period of months. Someone experienced in larger projects is much more likely to understand the challenges involved.
Of course, a longer project will cost more. Not only will you have to pay someone over a longer period of time, but it’s also advisable that you contract a higher-rate developer. In this industry, you really do get what you pay for, relative to the region.
It really is worth the cost to have someone reliable and accountable with whom you can build a working relationship over time.
How Important Is Experience?
What Should You Be Paying?
It can be hard to evaluate these costs if you’re not familiar with the tech industry. Building software is expensive—even at a low rate of around $300 a day, you probably couldn’t realistically expect to have a working Uber or Twitter clone in under two months. That’s around $12,000 for a low-rate developer, and the less you spend, the less likely it is you’re going to bag a highly skilled dev.
This means that not only might the work end up taking longer, the long-term quality of the software produced is also going to suffer. It’s always worth paying more to get the job done properly. If you hire a cheaper developer now, there’s always the chance you’ll have to hire another developer to fix the work anyway, costing you even more in the long run.
Even if you don’t find who you’re looking for, it’s a great way to learn more about relevant technologies and to network and forge relationships with people in the industry.
Next, there are helpful industry-specific sites that are a great way to find a developer who meets your criteria, as it’s you who will approach them rather than the other way around, allowing you to be selective before you even meet a potential candidate.
They also offer helpful tools for those who are unfamiliar with the kind of work they want done. Simply describe the kind of developer you are looking for and they’ll find the best people to fit that role based on your desired criteria. It should be much easier to detail your requirements using the tips we’ve given you above.
How to Interview a Candidate
As with any job, you’ll need to have an interpersonal interview. This is where you determine whether the candidate is the right fit for the job and whether they’re someone you’d like to work with.
However, in any field that requires such specific knowledge and abilities, you’ll also want to conduct a technical interview, which might be less familiar, so we’ll give you a few tips and resources that should help you along the way.
If you are tech literate, it still helps to have some solid examples for reference. Here’s a helpful list of examples—you can pick and choose those that will help to identify the best candidate for you. For more information on the challenges of a technical interview, try this article. For a few more practical tips, check out this concise how-to guide.
The best way to test a candidate’s suitability is to hire them for a day or two of paid work and review the code that they produce. This will give you a better idea of how they perform under real working conditions and will let you know how they go about completing the tasks you set them.
We appreciate that this might not always be practical, but if you are able to give a candidate a trial run like this, it’s well worth the investment.
- Lodash — A library which helps developers keep things tidy (used in a high proportion of projects)
- Underscore — Similar to Lodash (in function as well as in popularity)
- Moment.js — For dates and times
There are two major categories of libraries that run in-browser.
User Interface (UI) Libraries
These libraries allow developers to put dynamic content on the screen.
- React — Facebook’s focused library for rendering dynamic content
- Vue.js — Newer React-like library
- Angular — Google-backed jack-of-all-trades framework
- Ember — Community-driven jack-of-all-trades framework
UI State Management Libraries
These help lower bug counts in bigger apps, stopping their internal workings from getting messy as they grow more complicated.
- Redux — Functional-style
- RefluxJS — Older, functional-style
- Mobx — Object-oriented
- Express — Used in Node.js to help make APIs
These take your code and transform it into something that a web browser can use.
- Webpack — Opinionated way of building code
- Gulp — Piping, low-config build tool
- Grunt — Configuration-driven build tool
Before we wrap up, it’s important that we make note of Babel, a standard tool that takes your ES6 code and produces code that runs inside a browser today (before ES6 is fully implemented).
You’re Almost There