How to recruit world-class software development engineers
Talented and well-trained software development 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, sometimes even hiring remote teams of engineers. Sourcing good software developers has become a supply-and-demand problem, with more jobs than developers.
In this piece, we examine some of the challenges that companies are now experiencing when recruiting software development engineers, and how recruiting Indian developers can prove to be beneficial in such a scenario. We also provide actionable solutions 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?
Often, the common assumption is that technical know-how and years in the job are what distinguishes the ‘best’ from the ‘good enough’. While these are both crucial, world-class engineers have other attributes; that x-factor which sets them apart from everyone else.
These engineers possess innate curiosity, logical and lateral thinking, and a keen perception of the larger problem. In 2021, 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. And so, it’s getting harder and harder for businesses to find and recruit such well-rounded individuals.
But why is recruiting engineers so difficult?
A massive shortage of talent
In the US and Europe, there is immense pressure to discover and hire top software development engineers with commendable technical skills and the right attitude. At the same time, a survey conducted by SAP revealed that 9 in 10 human resource managers in the US and UK believed that identifying qualified candidates is the most significant challenge in the entire recruitment process.
The problem is 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 isn’t 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 business leaders agreed that they don’t believe they hire highly talented people. Recruiting average software development 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
Hiring top talent means paying a premium price — and that goes double for software developers and triple in the US and Western Europe! When you consider all the add-ons which accompany recruitment (HR cost, benefits, bonuses, office space) it can become a frighteningly expensive business.
For many companies, the choice is between hiring average but affordable software development 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?
With local talent so scarce and expensive, let’s look at a few popular alternatives to the traditional recruitment approach.
Outsourcing is where, rather than completing a project or task in-house, it is offloaded onto a contractor or agency. There’s a fixed-term contract for that one project, and this is best suited for ‘quick fixes’ when teams are overworked or suffer a sudden drop in capacity.
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 software development engineers 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.
Though often confused, offshoring is a very different model from outsourcing. Going offshore means building a dedicated software development centre abroad, for example in India. The goal is to gain access to a team of world-class software development engineers who can become value-driven extensions of your workforce.
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. By engaging with an offshore development partner who can handle recruitment on your behalf, setting up a development team can be pretty straightforward.
Nearshoring is offshoring, but closer to home. For example, a software company in the USA might build an offshore team in South America, since they share time zones and are geographically closer than India or Eastern Europe.
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 and almost always better engineers.
How do you build a pipeline of the best software development engineers?
Start by looking in the right places. The most powerful options are job portals and social media.
A recent 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?
- Blogs and technical postings
Developer blogs are goldmines just waiting to be explored. They act as a window into the technical knowledge, problem-solving ability, and writing skills of the developer — all critical criteria when identifying cream-of-the-crop candidates.
- 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 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.
- Slack channels
Slack is quickly becoming one of the most popular internal messaging and collaboration tools on the market — so popular that it is now being used by groups of people with similar interests to communicate. This means that 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 great way to find fresh talent and to gauge whether candidates are likely to have the qualities that you are looking for.
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 software development engineers
Compromising on quality
Finding the right candidate is crucial. If companies don’t hire the best-fitting people, it usually doesn’t pan out. That makes it all the more important to consider the cost of a bad hire. 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 cost quite handsomely.
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
Sometimes, when hiring engineers, there is too much emphasis on the candidate’s technical skills – and not enough on their soft, personal skills. While those abilities are crucial, the best-fit for a modern development team goes far beyond the nuances of a specific programming language or technology.
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
Nailing your recruitment process is quite simple, really. Start by defining what you actually need. 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 best way to analyse a software developer’s technical skill set is to look beyond what’s on paper and pose real-time programming challenges instead. Present candidates with a problem that is unconstrained by the coding language. The goal here is to evaluate the candidate’s broader technical knowledge, coding style, and their ability to problem solve.
The next step is to engage in non-technical conversations with a prospective candidate to understand their personality. The software development engineer 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
Throughout the screening process, aim to be as honest as possible about your company culture, compensation, hours, location, goals, and expectations. This conversation is a chance for both sides to evaluate whether they’re a good fit for one another.
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 4: Give someone the job!
The last thing left to do is make a decision. You’ve screened for exactly the right kind of candidates, whether that’s in your local area or offshore and evaluated them thoroughly during the interview process. There’s a lot of work involved in recruiting top-quality engineers for your business, but the effort is more than worth the reward.
At the Scalers, we execute the recruitment process from end-to-end on your behalf. We implement a meticulous hiring strategy which guarantees your development team is built around highly-educated, experienced engineers who put everything into the software that they build.
If you’d like to learn about how The Scalers could help your business, we’d love to have that conversation.