Why Companies are Bad at Attracting Great Software Engineers?

When your job post for software engineers remains active for more than 2 weeks,

Do any of these worries sound familiar to you?

  • “Why does it take my team forever to find the right software engineer?”
  • “Why the candidates can’t even pass the 1st technical screen?”
  • “Why are we getting so many random applications submitted, and barely getting any applicants that we need?”

If the answer is a resounding “NO”, then this article is not meant for you.

You should close this tab.

But if you are one of the unlucky ones who said “YES”, then read on…


Here are 3 reasons why you can’t attract the right engineering talent from your job posts:

Reason #1: Your job description reads more like a kitchen appliance manual.

Reason #2: “If you don’t know what you want, you end-up with a lot you don’t.”

Reason #3: The technical interview assessment is either too advanced or irrelevant for the position.


Here is what you can do:

1. What’s in it for the candidate? Job description is a sales pitch, so treat it like one.

1(A) Your job description most likely lists every single tech stack imaginable listed, even though more than half of those will never be used.

You might believe that by being generic in the job description, you are casting a wider fish net. While that is true, you are attracting the wrong kind of fish.

Be specific.

List only 3-5 main tech stacks at most. (The most important ones)

1(B) A boring and generic description guarantees to attract not-so relevant applicants..

Great candidates want to work in companies where they build exciting things.

So, pitch to them.

Excite them about why they should join your company.

But keep it brief.

1(C) “Money makes the world go round.”

Specify the salary range.

Be transparent from the get-go.


2. How to know what you want, so you don’t end-up with a lot you don’t want.

Get specific on the candidate profile you are aiming for.

Here are just a few examples:

Scenario #1: Does your team need an extremely competent individual contributor (IC) who needs minimal guidance and can start contributing within a month of joining?

If yes, then this candidate has to be technically competent, but does not have to be possess leadership qualities or be outspoken contributor.

Scenario #2: Are you looking to hire someone to serve as a leader to guide the engineering team?

Then your focus should be someone who is forward-thinking, possesses leadership qualities, and can motivate individuals.

But don’t expect the candidate to solve every technical challenge you throw their way.

As long as he knows enough to have the respect of his engineering subordinates.

Scenario #3: Your engineering team has strong leadership established but not enough of developers to handle the workload capacity?

Then focus on finding the candidate that is mid-level engineer, good team player, and has above-average communication skills.

You don’t need this candidate profile to be an all-star engineering wizard, or a candidate that has to be an exceptional leader.


When you know what kind of candidate you are looking for, you will have clarity.


You will be able to make the decision on the spot when you meet the candidate that meets your expectations, instead of hoping for a unicorn candidate to show-up that has all the skills imaginable.


3. The technical interview assessment either exceeds the job’s difficulty or fails to align with what the job needs.

Just like with the candidate profile mentioned above, same rules apply for the interviews.

Let’s assume the candidate you will hire will be working primarily on the ‘Dashboard’ view of your application which consists of pagination, sorting and filtering, then why should you expect them to solve Dijkstra algorithm?


Asking the candidate to implement a pagination feature will you inform you more about his ability to perform on the job than expecting them to solve a problem that will tell very little to you whether they can do the job.


In summary, to increase your chances of filling-up your pipeline with stronger and more relevant candidates and increasing your chances of hiring right software developer:

  1. Update your job description to a sales pitch instead. Create a desire in a candidate to want to be part of your mission.
  2. Craft out the exact candidate profile your team needs instead of trying to look for a Swiss knife.
  3. Emulate the technical interview to the day-to-day expected responsibilities of the hired candidate.
Scroll to Top