How To Recruit World Class Software Development Engineers

Talented and well-trained software engineers are a scarce resource in today’s workplace. With less than 1% of engineers unemployed in the US, it’s clear that companies are snatching up every good engineer they can lay their hands on. There has been an unchecked increase in technology companies in the past few years, and that trend is set to continue.

Sourcing good software developers has become a supply-and-demand problem, and with more jobs than developers, it doesn’t have an easy fix.

In this piece, we examine many of the challenges that companies are now experiencing when recruiting software development engineers, as well as actionable solutions to those challenges and advice for establishing a bulletproof recruitment process going forward; one which ensures you bring none but the best into your business.

What makes a “world-class” software development engineer?

These engineers possess innate curiosity, logical and lateral thinking, and a keen perception of the larger problem. In 2019, the best developers also tear down the stigma that IT professionals can’t socialise or communicate well with others. They are humble, supportive, driven, and totally aligned with their employer’s ethos.

Unfortunately, these engineers are hard to come by. In Europe and the US, there are more engineering jobs available than candidates to fill them. For hiring professionals, it’s getting harder and harder to find and recruit such well-rounded individuals.

So why is recruiting engineers so difficult?

A massive shortage of talent

The problem is simply that universities are producing fewer graduates than there are jobs to be filled. At the other end of the spectrum, veteran engineers are retiring and there is not a strong enough pool of candidates to replace them.

So what do companies do? They settle. A survey conducted by McKinsey&Company found that a staggering 82% of the respondents, all business leaders, agreed they “don’t believe that they hire highly talented people”. Recruiting average engineers can hamper a company’s ability to grow and deliver acceptable results to clients. In the long-run, this could result in the loss of contracts and even a drop in profit.

An ever-growing wage bill

For many companies, the choice is between hiring average but affordable engineers, or enticing top engineers by extending the budget further than the finance team particularly enjoy. Of course what constitutes the ‘right’ engineer for one team is a complete mismatch for another; at the end of the day, however, recruiting software developers is not a light endeavour.

So what are your alternatives?


The main attraction of outsourcing is the substantially low pricing it offers, sometimes as low as $10–20 per hour. So what’s the catch? These developers do not work for you. Their focus is split between multiple projects for various clients.

The result is software that’s often substandard due to a lack of commitment, skill, or communication on the contractor’s side. Sometimes no work is returned at all. Outsourcing is usually considered a temporary plug that isn’t sustainable over the long run, or for highly valuable projects.

By pushing for the lowest price possible, it’s too easy to end up compromising on the quality of the output.


There are numerous advantages to going offshore. Chief among them is the ability to access genuinely world-class talent at a lower cost than at home. India produces roughly 1.5 million engineers every year. This allows access to a significantly larger talent pool than is available in most western cities; companies who build offshore teams can virtually hand-pick their staff.

By engaging with an offshore development partner who can handle recruitment on your behalf, setting up a development team can be pretty straightforward.


Nearshoring offers most of the same benefits of regular offshoring. The difference is that countries like India almost always come out on top when it comes to value for money: frequently lower prices, almost always better engineers.

How do you build a pipeline of the best candidates?

Another survey found that 59% of employees say that a company’s social media presence “was one of the primary reasons” why they chose their workplace. By leveraging sites like LinkedIn, you can promote your openings, share different aspects of your company, post updates about your brand, and positively engage with a potential hire.

But there’s a problem — traditional recruiting channels are now getting overcrowded. There’s only a finite number of great candidates you can reach on LinkedIn, and far too many companies and agencies vying for their attention.

Where else can you look?

  • Open source code websites — Websites like GitHub and SourceForge are home to millions of developers. All you have to do is see and evaluate a developer’s sample code before deciding if you want to reach out to them.
  • Quora — Quora is a website that provides answers to a plethora of questions, both technical and non-technical. If you are looking to source engineers, make sure that you follow a range of different technical topics. Most of the people answering the questions will be technically sound in their field of expertise — and you’ll be able to easily differentiate those who aren’t.
  • Slack channels — Slack is probably the most popular internal messaging and collaboration tool on the market — so popular that it’s now being used by groups of strangers to discuss their shared interests! Developers often belong to several channels — some of them are open to the public, while some are private and require an invitation. Joining these groups is a novel (if optimistic) way to find fresh talent.

It goes without saying that the odds of finding your perfect candidate increase significantly when partnered with professional recruiters. However, for companies whose resources are more limited, scouring the areas we’ve highlighted should still reveal a healthy amount of good engineers.

After that, it’s time to interview them and see if they’re a good match!

Common problems when hiring new developers

Compromising on quality

A CareerBuilder Survey from 2017 showed that on average, companies lose $15,000 on every bad hire. What’s worse is that nearly 3 in 4 employers know that they’ve hired the wrong person for a position.

The pressure is always on to make hires quickly. Despite best intentions, it’s easy to push candidates to the next interview despite a negative gut instinct, or even after spotting a potential red flag.

The result? Weeks or months later, that new hire just isn’t working out. Mis-hires can cost the business far more than just wages; delayed projects and additional training can drive up the cost quite handsomely. And as everyone knows, it’s not so easy to fire someone today as it was a few years ago.

Why does this happen?

The main reason a company would rush someone through is, once again, that balance of cost vs scarcity. If a company finds an affordable and competent developer, they’ll want them signing on the dotted line before someone else offers them a better deal.

Assigning too much value to technical knowledge

Top software development engineers don’t waste time committing to memory language specifications and documentation. Learning a new language, technology, or design pattern is a relatively trivial exercise for a strong developer — one that wouldn’t take too long.

If you want to determine the true potential of a candidate, you have to look beyond the technical know-how. Pay more attention to the candidate’s ability to grasp complex concepts, creative thinking, communication, and personality.

Establishing a bullet-proof recruitment process

Step 1: Define your hiring needs

If you don’t know exactly what you need, you’re not going to find it. It’s not enough to know that you need developers of a certain level. You should know precisely what skills (both personal and technical) you require from an ideal candidate and set that as a benchmark.

The best way to do this is to make a list — tech stacks, experience, personal skills, and anything that you think is relevant. This list must be all-inclusive and thorough.

You can then create job descriptions for the positions by using that list as a reference. Include all the duties and responsibilities that the employee will have to undertake. This not only acts as the foundation of the entire recruitment process, but also makes your job of shortlisting value-adding candidates that much easier.

Step 2: Look beyond the performance report

The next step is to engage in non-technical conversations with a prospective candidate to understand their personality. The candidate might think this is just a precursor to the actual interview and will, therefore, be more likely to let their guard down.

This will help you discern a surprising amount about their personality, confidence, honesty, and professionalism.

Step 3: Engage the candidate

Never misrepresent what your company is really like. Remember that interviews are a two-way street, and they’re trying to learn as much about you as you are about them. Be honest, patient, and try to answer any concerns that the candidate may have.

Step 3: Give someone the job!