What makes a good developer? The answer is more complex than you might think. At CodeControl, we specialize in finding top developers from the vast pool of candidates that is the internet. Because we firmly believe in the benefits of remote work, our search is limitless.
So, how do we make sure every community member we recruit could be a good match for potential clients?
We sat down with our very own Emile Baccaini, Business Development Manager at CodeControl, to elucidate this question.
Talent is multifaceted
Here’s Emile: “The whole hiring process is challenge, because we have to find out if a developer has the necessary expertise, but also if their personality is a good match for us.”
In other words, finding a good developer is one thing, but will they be nice to work with? Arguably, these two things are equally important. So, that’s what we try to assess with our three hiring stages.
Round #1: Communication and humility
When we’re interested in a candidate’s profile, we invite them to a first phone interview, where we look for three things.
1) Communication skills
Can they express and structure themselves well? Can they explain something without going too much into detail?
As Emile puts it, “we need someone who can communicate very well and be precise, because we’re not always involved in the communication between our clients and freelancers.”
2) English level
The interview is done in English, so we can assess how well the candidate can express themselves in a business setting. English is the corporate language for many projects, so there’s no escaping it. We just want to make sure our developer will have no problem communicating on a professional level with English-speaking teams.
3) Self evaluation
We pay attention to how a developer talks about their past experiences and projects. What have they learned so far, what feedback have they been given?
We ask questions such as: What went well? What didn’t go so well? What would you do differently? What did you learn from this experience?
According to Emile, the reason for these questions is that we don’t want to hire people who believe everything they do is perfect—that’s not a good sign. We want to recruit people who learn and grow.
After all, our talents work with clients on a daily basis, and clients will regularly give feedback. A good developer, we believe, will be receptive to that feedback.
Round #2: Coding challenge
If everything goes up to expectations in the first interview, we then send the candidate a coding challenge.
This challenge isn’t very difficult, and doesn’t always reflect what a developer can achieve or what their job would look like. But for us, it’s a good way to test their basic knowledge, and see how they structure their code. We send different tests for according to the candidate’s software development profile.
Round #3: Tech interview
If the coding challenge is successful, we invite our candidate to the final round: a tech interview. Depending on the type of developer being interviewed, we would ask one of our tech experts to conduct an interview with the candidate to assess their current level and quality. We discuss the questions with the expert beforehand, but we also trust their judgment and expertise.
Once the interview is done, our tech expert sends us a report and shares their thoughts with us about the candidate—for instance, how good their knowledge on different frameworks and languages and cloud technologies is. We also gather information on the candidate’s personality.
We insist on having several people interview a tech talent in order to have objectivity.
What we’re looking for
We believe that we should take the time to find candidates who really tick all the boxes. And that goes beyond excellent coding skills.
Here’s what we think a good developer needs: experience, communication skills, and empathy.
We try to work with experienced developers as much as possible. If a tech talent has less than 3 or 4 years of experience, their chances of joining CodeControl’s community aren’t very high. This especially rings true for this job, where one gets better by working at it daily. Developers have to build a network and get familiar with all the different tools, and that takes time. So, experience is key.
In this job, it’s very important to know how to communicate well and be precise. Another quality of utmost relevance is empathy. A good developer is empathetic and is able to accept feedback. Ultimately, our freelancers are also CodeControl ambassadors. A client will come to us first, but it’s with the developer that they’ll end up working on a daily basis.
What if things don’t turn out as planned?
Put different people together in a room (even a virtual room), and challenges will arise.
We always ask our freelancers to reach out to us first, before the client has to. We then talk to both parties to understand the problem. If the problem can’t be solved, we have to make a decision. Of course, everything is case by case. For instance, if the mistake is on our developer’s end, we try to explain how it happened, and find a replacement for the client.
On the other hand, there are things that we will find unacceptable, such as a really critical bug, or if the developer quits without telling us. In these cases, we see no other option but to end all types of collaboration with the freelancer. That is, after having talked to everyone to understand what happened.
As Emile says, “we always do our best to find suitable freelancers for a project, and I would say that in most cases there are no problems. But inevitably, now and then things just don’t work out.”
CodeControl’s HR assessment
This complex recruitment process, with in-depth interviews on coding knowledge, focus on empathy, and testing communication skills is something we’re very proud of at CodeControl. Our mission is to find the best developers in the world, so you don’t have to look for them.
However, if you already have a developer, CTO, or tech lead in mind, but don’t know whether they have the relevant expertise for your project, we can also offer general HR assessments. In other words, we can test the knowledge of your candidates and find out if they are suitable for your project and your company. We offer this service for different professional levels, from developers with a few years’ experience to CTOs. We’ll help you define exactly who you are looking for, what qualities you want them to have, and how much work experience you want on their CV. Once the role is clearly defined, we’ll test your candidate’s soft and hard skills in three stages.
- The candidate must complete 2 questionnaires, one relating to their personality, and the other one to see how they would react in certain scenarios. The scenarios are of course tailored to the role they’re being recruited for.
- This is followed by a 1-hour interview, where we discuss leadership experience, team management, and everything relevant to the role.
- Finally, one of our tech experts will test your candidate’s expertise.
At the end of the assessment, you will receive a detailed report with the results as well as an assessment and tips from us, so you can make an informed decision.
If you would rather tackle the recruitment process on your own, here’s a follow-up interview with Emile. You’ll learn how someone with no in-depth coding knowledge can assess the quality of a developer, and how to best prevent a failed collaboration.