In the first of a series of articles to help employers find the right freelancer, we look at the world of hiring software developers. Watch out for articles on hiring UXers, HR professionals and Marketers over the coming months.
Choosing a good software developer is not easy. The jargon alone can seem impenetrable. For example, a PHP developer with knowledge of Laravel or Symfony who has experience with AWS, REST APIs, and Git.
Does years of experience matter? What if they have everything but AWS? Should you consider having your app made in a completely different language? And even if you manage to find someone who meets your requirements, how can you be sure that they are really good at what they do? We all know the horror stories of half-finished projects that disappear into the trash after two years and tens of thousands of euros in investment.
Here are five tips to make sure you hire the right software developer.
Tip 1 – Language isn’t everything
Demand for developers still outstrips supply, so it may not be easy to find a new developer with knowledge of your preexisting or chosen coding language. There are many different languages, and while “Java” may sound very different from “C #”, most languages are quite closely related. Certain basic principles are reflected across all. A good developer can generally master another language quite quickly. And while an exact match will of course always be the most desirable choice, a good developer who is familiar with a related language is often also a good choice.
Tip 2 – Go wide, not narrow
People tend to believe that someone with ten years of experience with one particular technology is by definition better than someone who has switched between different technologies several times in those ten years.
“You can only be good at one thing in the end. And besides, you are going to work with a team! Each team member has his or her own expertise, and there is no need for overlap. Right?”
Unfortunately, that is often the predominant thought among clients. While it is important that a developer has a certain expertise, the more a developer knows about the adjacent technologies, the better. In many cases, experience with different languages can be a big plus. Different coding languages often provide different solutions to the same problem. A developer who is familiar with multiple languages probably knows multiple ways to tackle a problem.
Someone who is more broadly oriented is often a better choice than someone with a laser focus on one technology.
Tip 3 – Give them a test
So, you interviewed a developer and they came across as reliable but how do you know whether you have really found a good one? You are not an IT person, so it is difficult to separate the wheat from the chaff right? Fortunately, there are more than enough services that can help you with this. Hackerrank and Codility are two of the biggest players here. You can have a developer take a number of programming tests on these sites. Almost all languages and all technologies are supported. Your developer is assigned a number of scores for, among other things, the efficiency of the written code, the error sensitivity, and the number of edge scenarios that the developer has taken into account. You won’t get a better overview of their ability.
Tip 4 – Do they love code?
StackOverflow and GitHub are two sites that play a central role for many developers. StackOverflow is the ultimate knowledge bank for technical queries. Developers post their queries, hoping that another developer somewhere in the world knows the answer. In total, more than 18 million queries have been asked here over the years. If you answer queries from others, you are awarded points. A good reputation – a few hundred points – on StackOverflow means that the developer is active on the site, and has probably helped others. Those are the people you are looking for.
In addition, we have GitHub. Developers contribute to large open source projects on GitHub. These are software projects that can be used by everyone, for free. This is by no means only about small hobby projects. Major software solutions such as Django (which is the basis of Instagram and Pinterest), Ruby on Rails (which runs AirBnB and Spotify), and Linux (the core of the Android operating system, among others) are constantly being developed on GitHub. Developers who contribute to open source software are often the more tech-savvy. Moreover, it shows that they also enjoy coding outside working hours.
Ask your developer if they are active on these sites, and what kind of things they do on there.
Tip 5 – Two pairs of eyes
If you start work with a developer, how do you really know that the code being produced is good enough to still do what it needs to do in a few years? In software development, written code is often checked by another developer – a code review. Have another developer or external agency review the code. Two pairs of eyes are better than one. Someone who is good at what he / she does generally has no problem showing work to their colleague.
We hope those tips help you assess whether a developer is right for you. If you need freelancer developers sign up to Jellow.ie.
This article is based on one originally written by Timothy Kleijn and was published on Jellow.nl.