If you have tried to recruit software developers for your team at any time since about 2015 you’ll know how difficult it can be. It’s been a non-stop seller’s market since then –the sellers being the software developers themselves – and things don’t look like getting any easier.
The main difficulty is a distinct shortage of candidates. All other problems stem from this. In the UK we’ve had more developer vacancies than candidates for what seems like forever.
Here are a few of the challenges associated with recruiting permanent software developers in a candidate-short market.
Challenges when recruiting software developers
Competition for salaries
The economics of supply and demand means that the best developers can command high salaries and contractor day rates. So if you want to employ the best, you need to pay the price – literally!
But what should you pay? Salary surveys help, but they are out of date very soon after publication. The best way to find out about current salaries is to do a quick search on current advertised jobs on the main job boards, or to get in touch with a reputable recruitment company who will give you their view.
Bear in mind that it’s in the interests of the recruiter to give you a salary estimate that is slightly on the high side – not because it will result in a higher fee, but because it will make it easier for them to recruit, if you want them to.
Remote working
The idea of working from home has been around for as long as the internet has been reliable and fast enough to allow it, but the pandemic of 2020 changed everything. The enforced situation of having to work from home proved the concept on a massive scale, opening the eyes of many workers and their employers to the possibility of doing it full-time.
And the genie is now out of the bottle; many software developers will only consider remote jobs, and most others prefer at least a hybrid arrangement.
This means that you as an employer need to be open to this as an option. If you’re not, you will miss out on a very large number of potential candidates for your role.
In-work benefits
The new crop of permanent jobseekers are motivated by more than just money. Company benefits are important too – but the emphasis has changed.
A city-centre office with chill-out zone and dress-down Fridays are great for anyone based locally and wanting to work on site, but these things hold no appeal for someone working from home, so you need to think differently.
Flexible hours, extra holidays, training, pension, bonuses, reimbursement of internet costs etc – these are all important to the remote worker.
Company culture
Company culture is more important than you might think. Does your business have a reputation for being, for example, male-dominated, stuffy, boring, or inflexible? If so, you will have to work very hard to overcome these preconceptions, and you’ll have put some candidates off before you’ve even started.
IT teams often have their own different sub-culture, but you can’t change the strategy of the whole business unless you have a seat at the big table, and it’s still the case that roughly half of IT teams ultimately report into the FD or CFO.
Attractiveness of contracting
One of the risks of remote working is that the worker might feel distant from the rest of the team. And if they do feel this way, they might as well be a contractor!
And even if you have an in-office or hybrid culture you will always miss out on some developers because the lure of contracting is so strong. A good dev can be easily tempted by the contracting market, especially if they have in-demand skills. Mainly because of the money they can earn, but also because of the ability to take time off between contracts.
You probably won’t be able to compete financially with the contract option, but you might have other cards up your sleeve – culture, team spirit, permanent benefits, and an attractive career path. Play those.
But whatever you do, there will always be developers for whom the ability to earn money trumps the feeling of being part of a team, and you just won’t be able to attract those people.
Your technology
If you don’t invest in up-to-date technology and work with the latest software tools, your role will be less attractive. On the whole, developers love to learn, and are attracted by new and interesting tech. They are aware that if their coding knowledge goes out of date then they fall behind.
They want to innovate. They want to bounce ideas off other like-minded techies. And most of all they don’t want to be fixing bugs and doing basic maintenance.
Not all the time, anyway.
Your industry
The modern jobseeker thinks about the industry in which they want to work. Often, they limit their search to companies that are perceived to be doing some good in the world – green energy, charitable causes, healthcare research.
If your business is involved in weapons manufacture, gambling, slave labour, etc, you will certainly dissuade some candidates from applying to work for you.
Most companies fall somewhere in the middle, of course.
You can’t do much about the nature of your business, but you can be aware that it might have an impact on how easily or otherwise you are able to recruit software developers.
Keeping hold of existing staff
This is less about recruitment of new staff and more about retention, but it’s important not to forget about your current team. If you recruit someone at a higher salary than others are earning, and they find out, they won’t be happy.
They will then start looking for work, and jobseeking has never been easier, especially with the advent of video interviewing. It’s child’s play to schedule a quick video interview at lunchtime when you’re working from home.
And don’t forget about non-IT staff. Resentment can quickly grow if one department is allowed to work from home and another is not.
Reasons to be optimistic?
Overall, there are many challenges. Good software developers can choose where they work, so why would they choose you when there are so many attractive options out there?
The difficulties of benefits, culture, and remote working as outlined above can all be addressed, but you will need support from the top, and in a large company you might find it difficult to make any meaningful changes quickly enough to make a difference to your immediate recruitment need.
Unless you’re a very small business you won’t be able to make these adjustments in time. Work on them by all means, but you will need to consider other options.
Most of all – don’t panic! There is room for optimism. The title of this article is ‘How to recruit Software Developers in a candidate-short market’.
And this is how to do it.

How to recruit Software Developers in a candidate-short market
Be flexible on salaries
The most effective way to recruit the top software developers is to pay above the market rate – and the best way to keep hold of them is to review these salaries on a regular basis. Always assuming you have the other good things in place first, that is – things like company culture, benefits, technology etc.
Being able to offer an above-market-rate salary is an effective way of securing the candidate you want.
But does the candidate want you? People who are motivated by money above other factors tend not to stay in one job for long. If you want someone to grow with you and stay for the long term, you need to offer intangibles like team spirit, future career progression, and a democratic company culture.
So – what if your budget doesn’t stretch to ‘above market rate’ and you can only differentiate yourself on the intangibles?
In that case you will need to get creative!
Recruit on potential
If you don’t want to pay top dollar for a new hire, consider paying a smaller salary to someone who is a little less experienced. A good developer at an earlier stage of their career might be just what you need.
You can get an idea of how fast a learner they are by looking at their academic record and their promotions to date. You can do a general intelligence assessment, or you can take references. You can interview them too, of course.
Technical potential is all very well, but you need someone with the right attitude and work ethic too. A personality profiling assessment will help you to understand what makes someone tick, and whether or not they will fit into your team / company culture.
Recruiting on future potential is a good way of engendering loyalty in the people you hire. They are more likely to stay for the long haul and it’s very good for team morale. Plus, you’ll find it easier to hire others in the same mould if you have done it already.
Finally, if you recruit someone who ticks every box on the job description, there may not be any scope for them to develop their own skills. Better to take on someone who can grow into the role.
Be flexible on technical requirements
If someone has the right behaviours / attitude and the ability to learn, but they are coming in via a slightly different technical route, don’t discount them. Developers love to learn and will often be very happy to cross-train, especially if your tech is more up-to-date than theirs or your other company-related benefits are attractive to them.
They might already have knowledge other development languages and principles, and it may well take less time than you think for them to become productive in the role.
An even more radical thought: is there someone within your existing team or wider business who might be able to step sideways or upwards into the job? You never know – the perfect (potential) candidate could be sitting a few doors away in applications support or working as a business analyst downstairs. You might even have a Computer Science grad in the customer service department. Seek these people out.
Wherever they come from, remember that you can teach someone a new technical skill but you can’t change their behaviours, their attitude to work, or their ability to learn.
Be fast
Once a good candidate pops their head above the parapet, it’s all over. In other words, as soon as they post their CV on a public job board they will get dozens of phone calls from recruiters and will have a glut of interviews lined up in no time at all. If you’re competing for people like this, you need to act very fast – within days, if not hours.
This paragraph is deliberately short, to emphasise this point. More detail is here.
The hidden market
Most businesses (including recruitment companies) rely on publicly available candidates who are actively looking for work and who have posted their CV on a job board. This means that there is fierce competition for these people, resulting in a race and putting upward pressure on salary requirements at the same time.
These candidates are in the minority though. Most people who are in work are only passively looking for a new job, if at all. Even if they are, they might not want to advertise this fact, so they steer clear of job boards.
It’s in this majority pool that the best candidates reside, and that is where you should be fishing.
Forward-thinking companies know this, and maintain a list of people who have previously engaged with their business in some way and who might therefore be interested in working for them in the future – their own ‘talent pool’. They keep in touch with the talent in this pool on a regular basis and when they have a job requirement they know that they have access to a ready-made list of potential applicants who have been partly pre-qualified already.
To make this work, you need to think long-term. In fact, the best time to start the recruitment process is well before you actually need to recruit.
If you don’t have your own talent pool, start one now. If you have more immediate need, get in touch with a recruiter who maintains a pool like this.
For serious recruitment it makes sense to work with just one good recruitment company at a time – one that specialises in the recruitment of software developers. Make sure you check that they have an appropriate pool and a working fishing rod.
Recruiting Software Developers – Summary
In summary:
- Be aware of the challenges of recruiting software developers in the current market.
- Pay the market rate or above if you want to attract the best candidates and you can’t afford to wait.
- Do what you can to improve your team culture and benefits.
- Be flexible with your technical requirements.
- Recruit on potential.
- Recruit on attitude.
- Consider people in your own team / company / network first.
- If you’re in competition – act fast.
- Avoid being in competition by having your own talent pool or using a recruiter who has one.
- Consider contractors in the short term.
Finally – if you come across a good software developer who is interested in your company but you’re not actively hiring, consider taking them on anyway. Fortune favours the brave!