• Pawel Majchrzak

Hiring Managers don't just want to hire more great software engineers

If you're reading this post, there's a decent chance that you're responsible for hiring software engineers. Maybe you're a hiring manager, a recruiter, or a CEO/CTO looking to scale the engineering team. Even having the best recruitment process in the world, usually, there is no way to fill the engineering role fast and at little cost (it takes approx. 60 days to fill in an engineering role in Berlin! What a nightmare).

Recruitment agencies suck, all HR tools are not helpful enough; this is why: people assume that Hiring Managers just want to hire more good people, and that's it.

It's often a gross oversimplification.

Though everyone wants to hire the best engineers, recruiters are bound by all sorts of metrics, and how many people they hire is only a small part.

I am CEO and co-founder of CodersFirst. Alex, my co-founder, and I decided to fix engineering hiring for real. We're building the most efficient hiring process to get companies rigorously assessed software engineers who proved to have the right engineering skills for each particular company. Companies don't waste time on bad candidates and eliminate onsites that otherwise will be wasted.

With CodersFirst, companies make an offer to 1 out of 2 candidates they interview.

The first thing people really need to understand is that engineering hiring isn't just a filtering problem. It's primarily a sourcing problem.

Hiring, like sales, is a funnel. First, you have to take care of getting people in the door. The issue is that filters included in your recruitment process don't make people better, so the quality of your sourcing pipeline determines your efforts. In this market, where there is an engineering shortage, where good software engineers are rarely actively looking for jobs, and where recruitment agencies get at least 15.000 - 18.000 EUR per hire, the biggest problem isn't screening and picking up candidates from engaged job seekers. The problem is finding them and engaging them in the first place.

Second, great candidates aren't enough.

When we started the recruitment agency (before building CodersFirst), we assumed that great software engineers mean the same for all of us. What a mistake!

Hiring is really expensive, and recruiters are gatekeepers of engineering time spent on candidates' technical verification. The verification time should be low, as engineering time is precious. And this a screening step. The goal of applicant screening is to filter out candidates early.

We'd present to in-house recruiters a candidate who hasn't a great CV but was a great coder. Recruiters at these companies weren't very excited about this kind of candidate because it was too risky for them. There was no proof that this particular candidate will succeed in the hiring process. Here how it works: the screening process usually involves a recruiter scanning a candidate's resume (in about 10 seconds), followed by a 30-minute to 1-hour phone call. Sometimes companies also use a take-home coding challenge. Recruiters are overwhelmed with the volume and need to make quick decisions (well, I can't blame them). These quick decisions are a mental shortcut (might be an unconscious bias) that helps us make a decision faster. Let me show it that way: you don't put your finger into boiling water because you assume that you can be burned. Recruiters pick up a candidate with a CS degree and work experience at Google rather than the candidate who looks like a piece of shit on the paper. Because historically, software engineers who worked at Google are better - no doubt, however, it doesn't mean that the second candidate can't code (he/she won't have a chance to show the coding abilities)... What I am trying to show here is that we shape our decision and opinion by what we know; however, that kind of filtering might cause rejecting the pool of candidates with bad CVs but with excellent coding skills. This is a false positive approach. Companies prefer to avoid hiring a bad engineer and later fire him/her because the bad hire is very costly and visible and affects the whole team's work. Again, I can't blame anybody. So, if the recruiter presents someone who looks suspicious and doesn't work out, it will be a waste of time and money from the very beginning.

So here it is, the cost per hire metric. Who has the most significant chance for employment at the company?

To drive this point home, while using Linkedin,,, or other candidate search aggregators, you have access to almost every engineer at Facebook, Google, N26, GetYourGuide, or Amazon. This isn't hard to reach them out. What's hard is finding the ones who want to talk to you.

Having the root of the problem mapped out, we decided to take a completely different approach from all HR products available on the market.

Codersfirst is fixing all these issues with sourcing and filtering and time to hire in one fell swoop by ditching CVs entirely and focusing instead on candidates' performance in our technical screening process: an adaptive quiz and technical interview. It's all based on science and quantitative methods instead of a gut feeling. Aggregate data from an adaptive quiz and structured technical interview are much more predictive than a traditional CV screening or single interview. And because everything is anonymous, bias plays no role in who rises to the top.

Our goal is to bring to companies the best-performing engineers interested in their company with the biggest chance of employment and clear return.

It works like this:

1. Software Engineers apply to us. We run free, rigorous technical interview without looking at their CVs or credentials.

We've rebuilt the way engineers are screened. CV is removed from our process because credentials are pretty low-signal of candidates' future job performance.

Our process has 2 steps: an adaptive quiz and 2 hrs technical interview with a trained Senior Software Engineer.

Multiple choice quiz is adaptive and covers software engineers topics (ex. system design, CS fundamentals, back-end and front-end web, debugging). You can find here mostly questions with lines of code. The adaptive approach means that each candidate has different problems. Questions are updating in real-time based on a candidate's previous answer and selecting by taking into account a candidate's current skill level. Using this system, we can screen a whole spectrum of knowledge in computer science and software engineering. The mechanism is similar to the mechanism used in GMAT and SATs. The approach we have helps us discover engineering strengths and weaknesses of candidates.

If the quiz went well, the candidate would be invited for a Technical Interview. When our Senior Software Engineer and a candidate match, they meet in a collaborative coding environment with voice, text chat, and jump right into technical questions. The interview always has a structured format and applied multidimensional scoring (we measure much more than only correct or wrong answers). This approach aims to ensure that each interview is presented with the same kind of coding problems in the same order. We do this to compare candidates. During that session, we are verifying a candidates' ability to write clean and correct code. We check their knowledge from the entire cross-section of software engineering understanding: architecture & system design, back-end and front-end web, academic CS, security, or low-level. We want to be sure that candidates understand what they are working on daily as a Software Engineer.

We acquire top engineers from the market because the value we provide is significant. After going through CodersFirst, our candidates receive detailed feedback on their engineering abilities and real recommendations on what they might improve in our opinion. As engineers are already screened, we enable them to skip the screening stage with each company interested in their particular skills (CV screening, phone screening, take-home coding challenges) and go directly to onsite interviews. What's more, they going through our process once and can get multiple job offers. No wasting time on going through a dozen recruitment processes from the beginning like sending CVs, doing phone screenings, taking home challenges, and if they're lucky finally get to the onsite.

2. We use statistical models to match the right software engineers with your company.


During the onboarding, we ask you for technical details of the position for which you are hiring. This helps us build a preliminary matching model. We also collect information about the company, projects, and technical challenges engineers can face in your team and other stuff interesting from the programmers' point of view to get candidates excited about joining your team and help you sell this opportunity.

Culture fit

When we identify you as a good match with our candidates, both sides: you and candidates decide whether to do the onsite interview. That's what 'pitch call' is for. You can pitch your company during the call and check the culture fit. However, you can't do any technical screening during the call. Engineers are already vetted, and they are with us to save time.

3. Onsite interview

If both you and the candidate decide to continue, you bring your candidate directly to an onsite interview. Do what you'd usually do in your onsite interview and hire great software engineers without wasted onsites interviews.

We're very excited because we feel that it might be a great thing to help people assess their skills rather than credentials and find a job. On the other hand, companies could focus on building great products instead of wasting time on bad candidates.

If you're an HR person, Hiring Manager, CEO/CTO and would like to learn more about our process, or if you feel you can contribute and share with us your experiences on how to build the most efficient engineering hiring in the world, please get in touch