Hiring ProblemsStartup HiringSourcingEngineering Leadership

“I Can’t Hire Good Engineers” — The Five Real Reasons, and What Fixes Each

Your role has been open for months and the candidates are wrong. It is almost never a talent shortage. A diagnostic for the five actual causes — brief, reach, pitch, process and close — and what fixes each one.

Kushal Agarwal· Co-founder, 100Networks··5 min read

A role has been open four months. You have seen sixty CVs and interviewed nine people, and none of them were right. The conclusion most teams reach is that there is a talent shortage.

There almost never is. There are five specific causes, they produce nearly identical symptoms, and they have completely different fixes — which is why "post it on another job board" and "hire another agency" so often change nothing.

Here is the diagnostic.

1. The brief is wrong

Symptom: you have interviewed several people who all seemed reasonable, and rejected them for different reasons each time. Your feedback to the recruiter keeps changing.

What is happening: you have not decided what the role is. The JD lists seven requirements, three of which are genuine and four of which someone added out of habit. So you are searching for a person who does not exist, or you are searching for three different people in rotation.

The fix: two hours with whoever makes the final call. Not a JD — a brief. What does this person own in twelve months? What does a strong one look like on day ninety? Which requirements would they actually fail without, and which are convenient? What are the deal-breakers? And what will you say when they ask why they should leave a job they like?

That last question is the one most teams cannot answer, and it is the one that decides whether anyone joins.

Tell: if the last three rejections had three unrelated reasons, it is the brief.

2. Reach is too narrow

Symptom: the candidates are fine. Nobody is exciting. You keep saying "let's keep looking."

What is happening: you are choosing from the people who applied, and for a hard role that is a small and unrepresentative slice of the market. The engineer you want is employed at a company you respect, paid well, has equity vesting, and has not opened a job board in three years. Across our own placements, 72% of the people we hired were not applying anywhere when we found them.

No job post reaches that person. Not because the post is bad — because they will never see it.

The fix: outbound. Someone identifying specific people at specific companies and making a case to them directly. That means private referral circles, domain communities, people's published work rather than their profiles, and direct approach into named target companies. 61% of our placements come through those channels rather than job portals.

Tell: if your applicant flow is decent but unexciting, it is reach.

3. The pitch describes execution

Symptom: you are getting candidates who are more junior than you want, consistently.

What is happening: your role description is selecting for them accurately. A role pitched as implementing a roadmap defined elsewhere attracts people who implement roadmaps defined elsewhere. Strong senior engineers are choosing between offers, and they optimise for scope and for the people they will work with.

This is the single most common failure in offshore and GCC hiring specifically. A US company pitches its India team as an execution arm, interviews for three months, gets execution-level candidates, and concludes that the market is weak. The market is not weak. The pitch selected for it.

The fix: be honest about scope, and if the scope is genuinely narrow, price for it rather than pretending. If you want someone who will own something, say what they will own, and mean it.

Tell: if the candidates are uniformly more junior than the spec, read your own JD as a candidate would.

4. The process is losing them

Symptom: good candidates go quiet mid-process, or take another offer "that came through faster."

What is happening: your process is the only real evidence a candidate has about what working there is like. A rescheduled panel, a fourth round that appears from nowhere, contradictory answers about the role's scope, a two-week silence after a good conversation — each one is data, and a strong candidate with options reads it accurately.

The fix: five rounds maximum, inside two weeks. Same rubric for every interviewer. One person owning the candidate relationship end to end. Feedback within 48 hours, every time.

Tell: if you lose people after they have met the team, it is the process.

5. Nobody owns the close

Symptom: you get to offer and it falls through. Or they accept and then do not join.

What is happening: in India, a senior person commonly serves 60 to 90 days' notice. Counter-offers land during notice, not before it. If nobody is staying close to an accepted candidate for three months, you will lose roughly one in four — and you will find out a week before their start date.

The fix: someone owns every accepted offer through to day one. Regular contact, the hiring manager staying warm, watching for the candidate going quiet, and having a plan for the counter-offer before it arrives rather than after.

Tell: if you have had two offers fall through this year, it is the close.

The honest exceptions

Sometimes the pool genuinely is tiny. Production ML infrastructure, perception and SLAM, low-level systems, a handful of security specialisms — in any single market these are measured in hundreds of credible people, and most are in seats they like.

For those roles the answer is not better screening. It is accepting that the search is an outbound campaign against a known list, that it will take months, and that whoever runs it needs to already know that community.

Where to start

Work out which of the five you have before spending more money. Another job board does not fix a brief problem. Another agency does not fix a pitch problem. A faster process does not fix a reach problem.

If it is reach — and for genuinely hard roles it usually is — that is the specific thing we do. We headhunt people who are not applying, across India, the US and Europe: specialist recruiters who have filled that exact seat, with AI agents handling the reach behind them. Median six days from brief to a vetted shortlist, and a fee of 8.33% of first-year salary paid on the day the person joins.

And if it is the brief, we will tell you that instead. It is the more common diagnosis, and no recruiting partner can fix it for you.


Send us a role and we will tell you which of the five it is.

Frequently asked questions

Why can't I find good engineers?
In nearly every case it is not a supply problem. The five real causes are: the brief is wrong, so you are searching for someone who does not exist; reach is too narrow, so you only see the minority of engineers who are actively applying; the pitch describes execution work, which selects for execution-level candidates; the process is slow or chaotic, so strong candidates drop out mid-way; or nobody owns the close, so accepted offers fall through during notice. Work out which one you have before spending more money on the same approach.
Where can I find good software engineers?
Not on job boards, if the role is genuinely hard — the strongest engineers are employed and not applying anywhere. Across 100Networks placements, 72% of the people we hired were not looking when we found them. They are found through private referral circles, domain communities where specialists actually talk, their published work on GitHub and in papers and talks, and direct approach into named target companies. That is outbound work, and it is a different activity from screening applications.
Is there really a shortage of software engineers?
There is a shortage of engineers who are simultaneously excellent, available and interested in your specific role — which is a different claim. For most roles the constraint is not how many engineers exist but how many you can reach and persuade. The genuine exceptions are narrow and real: production ML infrastructure, perception and SLAM, low-level systems and a handful of security specialisms, where the credible pool in any market is measured in hundreds.
How long should it take to hire a software engineer?
Four to eight weeks from brief to signed offer is normal for mid-level roles where candidates are actively looking, and six to twelve weeks for senior and leadership roles where they are not. Add the notice period — 30 days at junior and mid level, 60 to 90 days at senior level in India. If a role has been open longer than three months, the pipeline is a symptom rather than the cause; something upstream is wrong.
Should I lower the bar if I can't fill the role?
Almost never — but you should interrogate the bar, which is a different thing. Most job descriptions bundle genuine must-haves with preferences that nobody checked. Separate them explicitly: what will this person fail without in the first ninety days, versus what is merely convenient. Teams routinely discover that two of their seven requirements were real and the rest were habit. That is not lowering the bar; it is finding out where it actually is.
Why do candidates keep dropping out of our process?
Usually because the process is telling them something about the company. Rescheduled panels, a fourth round that appears from nowhere, contradictory answers about the role's scope and two-week gaps between stages all read as disorganisation, and a strong candidate with options reads them accurately. Run five rounds maximum inside two weeks, give every interviewer the same rubric, and let one person own the candidate relationship end to end.
    “I Can’t Hire Good Engineers” — The Five Real Reasons, and What Fixes Each — 100Networks Blog