Want to join codequest as a developer? Find out what our recruitment process looks like

Izabela Krzeminska
Published in
6 min readSep 23, 2021

--

The culture we’ve been creating since the very beginning of codequest is an inherent part of our identity. And I’m not talking about the management’s aspirations, but the sincere values-based atmosphere all the team members naturally contribute to. Want to know what these values are?

  1. Normal Working Atmosphere — this term encompasses a whole range of characteristics for an ideal (or close to ideal 😉) workplace, among others:
  • Esteem and kindness — we treat one another with respect and we know we can count on and learn from other team members,
  • Growth mindset — we experiment and make mistakes, but we learn from them,
  • No overtime — we have a flexible work schedule and a work-from-anywhere arrangement.

2. Competence and embracing quality — we want to build products with the pace, quality, and functionality we can all be proud of.

3. Openness and partnership — we communicate with each other with our sights set on the future. That means even if we disagree, we see the common goal we are striving for. It applies to communication with team members as well as our clients.

4. Contributing and initiative — from day one you are a team member that will have a huge influence on the direction the company goes and how it develops.

All of the above add up to a great working environment — both professional and friendly. To keep it that way, we needed to set up a recruitment process that will attract candidates for whom our values are as important.

Based on our experience a good recruitment process should be:

  • focused on the candidate’s experience and good information flow at every stage
  • rather fast than short
  • carried out in a fully remote way

We feel that at codequest, our recruitment experience is a tad different from many companies. To achieve a perfect fit with values and competence, we need to pay extra attention to all the candidates who apply for a position at our company. After all, the whole process is about finding the right candidate. And that doesn’t only mean that the candidate suits us as a teammate but that we suit the candidate, too.

Every time we reach out to a candidate, whether it’s direct outreach or an answer to an online application, we aim to schedule a video call or a meeting in person, if preferred (up to 1 hour). We want to learn more about the person’s objectives, motivations, and expectations, and see if there’s a mutual understanding and clear communication between both parties.

At this stage we don’t really focus on skills; we want to learn more about the candidate and let the candidate know about the company as much as they’d like to. We stick to the laid-back conversation, listen, observe, and see if we have a potential values fit. The technical part during this stage is a simple algorithmic exercise that takes a few minutes. For that purpose, we use the online editor — coderpad.io.

Once the initial meeting is over, the decision is made within 1–2 days. We want to be swift and we try not to artificially prolong the process. However, depending on circumstances, it might take a bit longer. The candidate can be assured that they’ll hear from us — ghosting is not something we do.

The next phase is a technical interview. We have a conversation and then the pair programming session. Sometimes we do it one after the other, but usually, they are scheduled separately, not to overwhelm the candidate.

We do our best to keep the atmosphere friendly and we believe that the candidate doesn’t have to know everything. Rather than have superb knowledge, we’ll appreciate intellectual acuity, problem-solving, self-reliance, and the potential to grow. It’s okay to admit that you don’t know something. Asking questions is also welcomed.

Our candidates work on a simple application with one of our software engineers during the pair programming stage. The meeting lasts around an hour (it’s held online or in the office, depending on the candidate’s preference). It allows our candidates to work directly with someone with whom they might be working in the future and get to know him or her a bit and the practices they use. It also allows us to assess whether the candidate has the required skillset and works well in a team. We do our best to create a relaxing atmosphere of cooperation so that the candidate can forget that they are in the recruitment process. Revealing weaknesses is not our aim. And again — we do our best to decide about the candidate and get back to them in max 2 business days. Of course, substantive feedback from the interviewers is a must! (BTW here you can check out our general conclusions from the recruitment process of Junior Front-end Developers)

If the technical interview stage goes well, we host a group meeting with the candidate. We used to invite everyone from the company, but as we grew (now we usually have those meetings online), we stick to about 15 participants maximum 😉. We ask the questions (it’s a rather informal setting and the questions are not related to their professional skillset), and the candidate can do the same too. We encourage them to prepare some questions for us — this is a really unique experience for all of us and a great opportunity to get to know future teammates.

Once the meeting is over all participants discuss whether the candidate receives an offer from us or not. And it’s not that we vote and one negative ends up with rejection. We give the pros and cons to support our individual decisions and to come up with a final collective resolution. Everyone gets heard. This stage doesn’t take long, we are usually ready to communicate the decision within the same day, up to the next business day.

This system, although not without flaws, works well for us. It helps us hire people who are not only great developers but have amazing personalities too. Do not think we are all very much alike — I hope you don’t! We strive to create an inclusive and diverse workplace. There are introverts and extroverts among us, talkative and shy people, those with a great sense of humor and some rather reflective, parents or those without children. Everyone is welcome and we happily embrace what they bring with their true selves.

The whole process is about getting to know each other as much as possible, to make the best decision on both sides (ours and the candidate’s). Having at least 3 opportunities to meet the team members, and every time the team members are different this gives the candidate a better perspective on our company and how we work. Think about it this way — changing jobs is quite a big deal if you are thinking about it long-term. I guess it’s better to spend a few more hours at the recruitment stage rather than land a job you don’t feel comfortable with and want to run away from quickly. In addition, we collect feedback from candidates and ask them about their feelings. The contribution they make helps us to continuously improve the process.

Many developers have been working with us for years. One of them left the company but came back a year later. We trust each other, we support each other, we share the same values, and we deliver products we are proud of!

If you’d like to join codequest, check out our latest job offers here.

--

--