How We Hire Great Developers
- Culture
- Lubos Kmetko
- 6 min read
Success of a software project depends to a great extent on its developers.
Whether you are our existing or a potential client, rest assured that your project is in safe hands. To hire the best possible developers to work on your projects, we use a carefully crafted 5-step recruitment process.
Our process has two main goals:
- Effectively test candidates to see if they are qualified to work on your projects
- Treat candidates respectfully, because that’s how we expect them to treat you
Let’s take a look how we achieve these goals.
Step 1: Screening
We use Recruitee as our recruitment software. After testing various tools like SmartRecruiters, Workable, Greenhouse or Breeze HR, we’ve found that Recruitee best suites our needs.
It’s fast, easy to use, and highly configurable. Kanban boards provide a good overview of the recruitment pipeline.
One can create an application form with custom screening questions for each job. Editable email templates allow us to quickly proceed with the next steps in our process.
As a bonus, we’ve got a nice looking career site.
Step 2: Code reviews
We require all candidates to submit their code samples when applying for our jobs. We then review the code to see if it fulfils our quality standards. This is when the first bigger selection of candidates happens.
Sometimes candidate submit trivial code samples; other times, they say all their work is under a non-disclosure agreement (NDA). The fact they respect an NDA is a good sign. However, for a motivated developer it shouldn’t be a problem to code a sample application which would showcase their skills.
Other candidates submit their online portfolios where it can be difficult to access the original code.
In these cases, we are trying get better code samples. This is also where our direct communication with the candidate begins and we can see how they respond and how willing they are.
Even if a candidate doesn’t pass the code review, we are always trying to end on a positive note and motivate them for further work. We provide them with feedback and encourage them to work on their skills, and tell them they can contact us again in six months. Many developers have good potential, they just need polish their skills or focus more on some specific areas.
Step 3: Test project
If the candidate passes the code review, we invite them to do a test project.
For each position we have a specific test project:
- JavaScript test for front-end engineers
- WordPress test and front-end test for WordPress developers
- Ruby on Rails test for back-end engineers
The WordPress test and front-end tests require candidates to work with Chisel, our tool for setting up and developing front-end and WordPress projects. This way the candidate can become familiar with our tools, which makes the onboarding process more effective.
We have an instance of GitLab running where we set a private repository for the candidate to work on the test. This shows us if they are comfortable to work with Git.
One or two of our senior developers then evaluate the test. They submit their reviews to Recruitee. Sometimes we submit issues at Gitlab and expect candidates to fix them before we proceed. If there are too many issues, we provide them with feedback and ask them to contact us again in six months.
Step 4: Technical skills interview
We organize an online or onsite interview with the candidates who passed the test project in step 4. This interview is led by one or two of our senior developers. It usually takes from thirty minutes to one hour.
In the interview, we focus on technical skills, starting with some basic questions. Then we proceed with more advanced questions which should verify how thorough the candidate’s knowledge is. Sometimes it can happen that a developer solves the test but doesn’t really understand how the solution works.
We continue to evaluate some soft skills in this step too, like English level or how do they communicate in general. However, we mostly focus on the soft skills in the last step of our process.
We write down notes from these interviews to Recruitee. If for some reason we cannot proceed with the candidate, we provide them with feedback and encourage them to contact us in the future.
Step 5: Soft skills interview
If the developer has made it this far, he or she is very close to becoming a part of our company and taking on responsibility for projects. We need to ensure that we are hiring the right person who fits our company cultures and shares our values.
So, in this step, candidates have an interview with our company lead, Milosz Bazela, or one of our Senior Project Managers. They have a chance to learn more about our company and the benefits of working for us. In return, we can share our expectations when it comes to skills like communication, reliability, time management or transparency.
This interview usually takes one hour. Then, we do a final evaluation and, if everything looks promising, we come with an offer for the developer.
Let’s work together
As you can see, our recruitment process is quite demanding. Nevertheless, we try to make it as human as possible, even for the unsuccessful candidates. That’s why we respond quickly, follow up with what’s going on (e.g. when test project review is delayed) and provide feedback on each stage.
Sharing company values with staff starts with recruitment.
During more than 10 years in the business we have learned that hiring the right people takes time and effort on both sides. That’s the only way to build a successful company with happy employees that provide quality services to their clients.
If you are interested in different cooperation models we offer, please contact us.