Malcom Ridgers is a tech expert at BairesDev specializing in the software outsourcing industry.
You might be tired from hearing that “every company is now a software company.” Yet, that doesn’t make the claim less true. If you’re hearing it too much, that’s maybe because there’s a lot of truth to it.
Digital technologies are powering virtually all industries and sectors, from farming to city planning, so it’s not a surprise to learn that most companies are trying to embrace digital solutions for their workflows.
In that journey towards full digitization, software developers appear as crucial allies. They are the ones capable of creating the custom applications needed to power an improved way of doing business. That’s why forming a team of highly skilled software engineers has become one of the primary goals of startups, mid-sized companies, and enterprises alike.
Naturally, that increased interest has pushed the demand for software developers upwards – everybody needs and wants them now. That’s especially true for the best engineers out there. In that context, how can you hire the best software developers? How to find the right candidates? How to navigate through the overcrowded waters of software development recruiting? And how to be sure that the candidates you hire are the best?
Well, there’s certainly no recipe for success, but following the 6 tips below will get you closer to it.
1. Search Candidates Creatively Across Different Channels
If I was to ask you how you search for software developers for your team, chances are you’ll answer with the same old methods: posting to job boards, using a referral program, browsing LinkedIn with your poacher hat on, and creating job ads. That’s all fine and dandy, but there’s so much more you could be doing.
For instance, you could search on websites you didn’t think of, namely Quora, Reddit, and even sites like GoodReads. But before you launch yourself in your quest, think about how you can use those creatively. Instead of posting a job offer, and waiting for candidates to apply, use the information readily available in those platforms to your advantage.
Look for discussions and reviews around software development and, specifically, around technologies, frameworks, and language of your interest. Then, pay attention to the answers to discover the people that seem to have the most expertise around those. You can then engage with them to see if they are interested in participating in a project or if you can reach them with an offer.
You could also organize a hackathon (or sponsor one) or small event to expand your network and meet fresh talent. If you do that right, your event could draw the attention of very talented people with and without experience that you’d better have on your radar.
2. Don’t Chase Coding Rockstars
If you have ever searched for software development talent, you’ve surely come across those engineers that feel like rockstars. Maybe you saw their resumes and maybe you were seriously impressed by their amount of experience and expertise. Perhaps you received a referral from one of your team members to check someone they knew because they were incredibly talented. Or maybe you landed on a developer’s site that had raving reviews.
You should jump into that opportunity, right? Well, it depends. If you already have a strong development team and this could be an excellent addition, then, by all means, do it. But if you’re just building a team or you’re on a transition between teams, then you have to be careful. You might be tempted to add a coding rockstar to your staff that could lead all your development needs and even solve all your problems.
This course of action might reduce your development efforts to a single person, while you should be building a development group to tackle your requirements as a team. The best software is always created by a great group of people, not by a single coding rockstar (sure, you could argue that there are applications developed by a single highly successful person, but that’s more the exception to the rule, really).
Of course, you should aim to have those rockstars in your team, because they can elevate the quality of anything you do. Yet, you shouldn’t obsess with that, especially if a skilled professional doesn’t quite fit with the team you already have in-house. The takeaway is that, while a coding rockstar can increase the quality of your output, you should always think of a team-first effort.
3. Be Flexible with Programming Languages and Software Tools
One of the most common things when searching for software developers is listing specific programming languages and tools as requirements for applicants. Java, React, Python, Kotlin, Angular, and so on often appear as requirements that divide the right candidates from everyone else. What’s more, those requirements often pop up in the interview process as well, to a point where candidates are asked how they would use those tools to solve certain problems.
Look, that approach is fine, as it can give you an idea of the specific skills the candidate will be able to use if they join the team. However, if you focus only on them, you might miss good (and sometimes great) software developers. How so? Because knowing specifics might be useful in the short and mid-term but may not matter after a while. That’s because the world of software development evolves at breakneck speed.
There are new languages, frameworks, and tools being released each year. Developers drop very popular tools in favor of new versions or other alternatives. So, a senior developer that knows all the ins and outs of Golang might feel like a great addition now. Still, if Golang falls out of favor in the future, you don’t have any guarantees that that developer will serve a purpose in your team anymore.
Instead, you should focus on the candidates’ reasoning and knowledge of concepts. The idea is for you to analyze how creatively a software engineer approaches a particular problem because that’s what you’ll benefit from the most. A seasoned developer can learn new tools and languages and master it in less time than it takes for anyone to learn problem-solving skills (and that’s if they can learn that at all).
4. Use Your Tech Problems To Assess Candidates
I can’t remember the times I found people using coding problems they found on the internet to test the technical skills of their candidates. The idea is simple – if a candidate can overcome those coding challenges, then they surely can work in a software development team. Again, that’s relative, so that turns the whole approach into a debatable issue.
Instead of doing that, you could go with a better way of hiring the best software developers around. You only have to go back to any of the issues you found on past projects that the candidate could have worked on and give it to them to see how they’d have solved it. What you might get with this approach is by far more valuable: you can see the candidate in action while also giving you a look into their way of thinking.
Even if the candidate doesn’t reach the same conclusion as your team, you’re looking to their problem-solving mechanisms. Those mechanisms are what genuinely matter since they’ll show you how the candidate responds to a real-life scenario that you already found before, instead of how they solve a canned challenge you just found online.
5. Don’t Expect Top Talent To Work With You For Life
One of the biggest mistakes companies make when hiring software developers is believing that they’ll stick around with them forever. That’s simply unrealistic. The best software engineers tend to focus on building a career on a project-by-project basis rather than on a company.
In other words, the best developers will always have better offers, be them from other companies, be them because of their projects. Add to that the fact that the younger generations have more of a gig mentality that has them moving from one company to the next and you know where I’m headed with this: you should put aside the idea of “hiring for life” and replace it with “hiring for today.”
That focus shift means that you have to make the most out of the best talent you can get. Since the best developers will eventually leave (to work for someone else or to found their startups), then you might as well benefit from their expertise while you have them.
That should translate into a new framework for your hiring practices – you will never stop searching for development candidates, because you’ll always have gaps to fill, especially among the top talent.
I should add something else here. The fact that you make this switch doesn’t mean you can renounce the idea of investing in the development of your team.
You might feel like it’s a waste of money to train people that will go away. Yet, doing so will strengthen your team and create a fantastic work environment that will draw more talent. Besides, not everyone will leave your company – there will be great engineers that might stick with you for good, simply because you invested in them.
6. Hire Slow
There’s an old saying in the business world that goes “hire slowly, fire fast.” I’m going to keep just the first part because it applies oh-so-well in the software development industry. In this sector, “hire slowly” means that you shouldn’t rush to hire the first software developers that dazzle you – you have to dig deeper.
How can you do that? You can refine your screening process to make sure you have the best candidates. For instance, you can use AI algorithms to help you evaluate the skills and abilities of your candidates or make more pertinent questions based on the tips discussed above. Then you can attach a trial period to see how those candidates perform in a real-life setting. After that, you can rest assured you’ll have the best developers by your side.
Such a hiring process can take months to be finished, but it’s worth it, as your team will indeed have the best software engineers in the market.
You might ask what happens when you don’t have that much time to get development talent – should you rush your process to address your most pressing development needs? Of course not! There are alternatives to avoid that, mainly IT staffing services that can help you while you build your team.
Ready to Hire the Top Engineering Talent?
The tips I’ve shared with you aren’t the only ones you can apply to your hiring process to get the best software developers in the market. But they can truly get you closer to building your ideal team, one that’s diverse, creative, and talented enough to tackle all of your development needs. What’s best – these tips are perfect for any company, whether a startup, a mid-sized business, or an enterprise.
One final thing: the demand for software developers is very high right now, and you won’t always have the possibility to hire the best ones out there. Don’t panic.
Stick to a hiring strategy that leans on these tips, and you’ll eventually get a robust development department that will empower all your tech dreams.