Why are companies bad at recruiting developers?

Photo of Michael Andreyev
Michael Andreyev
January 31, 2023
Photo on theme 'Why are companies bad at recruiting developers?'

Saying that tech recruitment is broken has become a bit of a cliche. Despite the fact that technical talent has been in high demand for years, many companies are still bad at hiring developers.

Why is that the case? This post will cover the main reasons. If you’re a developer looking for a job, you’ll learn how to identify such companies and as a recruiter you’ll know what to avoid.

Unclear requirements

One of the main reasons organizations struggle to find suitable candidates for their developer positions is the lack of clarity on what they are looking for in an ideal candidate. This happens when they don’t fully understand their technical needs due to, for example, switching to a new tech stack. As a result, they struggle to tell absolute must-have skills apart from nice-to-have ones and can’t properly define their ideal developer profile. Such uncertainty can put off potential candidates.

Unrealistic expectations can also get in the way of companies hiring the developers they need. Rather than hiring one unicorn developer that knows everything, it is usually much easier to hire two or more with different areas of expertise.

Another reason companies struggle to recruit developers is setting overly ambitious diversity targets. Focusing on meeting a quota rather than finding the best candidate for the job can lead to lower-quality hires. It can also make the company less attractive to job applicants who will feel that they are not being evaluated fairly.

The factors mentioned above can result in having a job description that is unappealing to developers. The lack of clarity on the requirements leads to the job ad being vague and uninformative, while unrealistic standards cause those applying to perceive the job as unattainable and get discouraged.

If you’re a recruiter or a hiring manager looking for a better approach to establishing diversity and inclusion in your company, we have a blog post on how to build a diverse team that will be helpful. If you want to know more about making your job description appealing to potential candidates, check out our blog post on how to write a good developer job ad.

Slow feedback

Next on our list of reasons is being slow at providing feedback to candidates. If there are issues with communication between internal recruiters and hiring managers, it can take a while for the recruiters to receive feedback from them. This leads to candidates having to wait for an update for too long and, and as a result, to drop out of the process.

Sometimes there are issues with communication within the hiring team itself. If there is no clear distribution of hiring-related duties, it gets harder to coordinate everyone’s efforts. Test assignments end up not being checked in a timely manner, there are issues scheduling interviews and candidates are left wondering about their application.

Such problems lead to hiring managers taking too long to decide on who they want to hire. As a result, great candidates end up accepting offers from other, faster companies.

Unclear process

Issues with the recruitment process also prevent organizations from getting the best developers on board. Some companies struggle to track applications due to not using Applicant Tracking Systems (ATS) to keep the process organized. An ATS enables recruiters to have all the information on the candidates in one place. Not using an ATS can lead to resumes & applications getting lost.

Another thing that can drag out the recruitment process and unnecessarily complicate it is not using Inbox Zero. This is the practice of cleaning up your inbox by archiving the processed emails, which helps reduce the stress of going through a large number of messages every day and not miss any important ones. If you want to know more about this method, check out our blog post on using Inbox Zero.

The next on our list of process-related issues is the lack of a standardized structure. This is especially true if the developer is the first technical hire in the company. In that case, the team often doesn’t have a clear understanding of what an efficient process for recruiting a technical employee should look like, how many steps there should be and in what order. This leads to all sorts of issues from delayed feedback to bad candidate experience due to candidates having to wonder what they will go through next and for what purpose.

However, organizations that have experience hiring developers in the past may also struggle to attract decent candidates if their process becomes too complicated over time. For example, there may be too many stages involved, all of which the candidates are required to go through before the company is able to make the final decision. In that case, there is a risk for the candidates changing their mind in the middle of the process and choosing a company with a shorter and more straightforward interview process. Making hiring decisions by a large committee also causes delays with feedback which leads to the same outcome - candidates dropping out.

Asking for references too early in the process can put off potential candidates and harm their impression of your company. Candidates may not have professional references readily available, and the process of gathering references from one former employee, let alone from several ones, could take a lot of time and effort. Asking for a reference from the current employer is even worse because it can significantly damage their relationship if the employer is not yet aware of the candidate’s intention to find a new job.

Unnecessarily complex assessments

Another practice that may cause problems for the hiring team is introducing assessments by third parties, the outcome of which has a big impact on the final decision but is subjective. For example, developers may be required to go through a psychological assessment. This can result in the company overlooking the candidates with the best skill set for the position in favor of those with a better psychological assessment result.

When it comes to testing technical skills, using assignments that take too long to complete or giving them too early in the process can lead to candidates dropping out as well. If the candidates have to spend several days in a row on a complex home assignment without preliminary speaking with someone from the hiring team, they may choose to not complete the assignment. If you’re a recruiter needing advice on testing the applicants’ technical expertise, we have a blog post on effectively assessing coding skills that you may find helpful.

No salary transparency

Candidates may feel demotivated if they are not given accurate information on compensation sufficiently early in the hiring process. Not checking regularly with the candidate on what they expect can lead to disappointment and frustration for the candidate when they find out that the salary offered is not in line with what was initially discussed. Such a mismatch in salary expectations will cause sought-after developers to choose another employer that is more transparent when it comes to compensation.

Bad collaboration with external recruiters

Engaging external recruiters is a great way to fill the roles faster. However, working with bad agencies that misrepresent the company or the candidate can only cause problems. Our blog post on choosing a tech recruitment agency to work with is a useful read for companies looking to get external help.

Another reason why some companies have difficulties hiring good developers is working with too many agencies at once . Such an approach results in them contacting the same candidates over and over. If a company is working with an external recruiter on a success fee only basis, also known as on a contingency, they may not invest in building a constructive collaboration. As a result, the company can be slow to respond and not provide constructive feedback on the candidates that are presented to them. So, there is no way for the agency to know why they didn’t fit and to make up an actionable plan on improving their performance.

Problems with onboarding

Many companies don’t realize that the hiring process isn’t over after the candidate accepts their offer and struggle with onboarding. The first issue is not offering a mentor to a new employee. Developers often seek opportunities to learn and improve their skills, and having a mentor can provide the necessary guidance. If there’s no mentor or documentation, the company can come off as uninterested in the personal and professional advancement of its employees, which is a huge turn-off for potential hires.

Another problem is not focusing on having new developers produce code right away. This results in finding out that the hired person can’t deliver the expected result too late. If the developer fails to adapt and has to leave as a result, the company will have to spend additional time and effort on finding a replacement.

Not setting clear expectations for the trial period can also present a problem for employee retention. If the expectations aren’t clearly communicated at the very beginning, it is much more likely that won’t be met.

Finally, if the organization does not provide a positive work-life balance, it will also have a hard time retaining good developers. Having frequent “crunch times” will increase the probability of good technical talent leaving for a more balanced work environment.


As you can see, there are many issues companies face that can prevent them from recruiting the technical talent they need, namely:

  • Unclear requirements which result in vague and unappealing job ads
  • Slow feedback from the hiring team causing the candidates to wait for too long and drop out of the process in the end
  • Unclear and unpredictable interview process which leads to the candidates losing motivation to get to the final stage
  • Unnecessarily complex assessments that either demotivate candidates or assess the wrong thing
  • No salary transparency resulting in a mismatch of salary expectations
  • Bad collaboration with external recruiters causing a poor experience for all parties
  • Problems with onboarding that result in developers leaving during the trial or probation period

So, it’s no wonder that there are plenty of unresponsive companies with convoluted hiring processes, unreasonable home assignments and constantly changing requirements. However, there are even more companies that are not like that. By understanding the underlying reasons, we hope you, as a developer looking for work, can avoid the former and focus on the latter, and if you’re the one hiring to not repeat their mistakes.

Interested in finding your ideal job?

Learn more