Malcom Ridgers is a tech expert at BairesDev specializing in the software outsourcing industry.
In order for your company to compete with every other business in your sector, you have to expand. Without that, you'll be left in the dust, as your competition will deliver products with more efficiency, automate the management of their pipelines, and create applications and services that allow them to scale at will.
Can your business do that with the current team of developers you've employed? If not, it's time to hit the meeting rooms and start hiring candidates.
But how do you hire the best software developers? Is there a trick to it? There isn't a cookie-cutter template for this process. Even if there were, you wouldn't want to use it. Why? Because it might not suit your company. And what worked for one business, might not work for yours. So forget about trying to find a bullet point list of generic advice, and read on to find tips that you can actually use to hire software developers for your business or project.
This might sound a bit backwards to you, but figure out what development need you have and then search for a project that perfectly fits that need. Once you've found the project, reach out to the developer(s) working on the project, and find out if anyone associated with the app or service is looking for work.
If you find one or more of the developers of that project are looking to be hired, your search could very well end there. You know the project works, and you know the project fits within the scope of your business expansion needs. All you have to do is bring the developer(s) in (either IRL or via video conferencing) and discuss the scope and scale of the project. Get to know the developer(s) to make sure their personality fits in with your company.
Here's the thing: If you start the hiring process when you're already facing down a need, you're going to move quickly. When you hire too fast, you make mistakes. Instead, anticipate your expansion needs early on, so you can take your time in the hiring process.
The last thing you need is to rush through this. Do that and you'll hire the wrong developer. Give yourself plenty of time to search out the perfect candidate(s) and you'll succeed on every possible level.
This, of course, requires you to have a solid grasp on your company timeline. What is coming in the future? How do you plan on expanding? What technologies will you need in the coming year?
Ask yourself this question: Do you really have a solid enough understanding to hire development teams? Unless you are a part of the IT department (specifically the dev team), chances are pretty slim you really understand the qualities required for the best software engineers.
However, you have a really good resource at your disposal, one that does understand what it takes to be a great developer. That resource is your current developers. You really should give those you've already hired a say in this process. In fact, don't just give them a say, have them help you locate those new recruits. Developers tend to associate with one another (either on-line or IRL). Because of that, your staff will have connections you might not. So use those connections. Allow your current developers to help locate those new recruits.
Although you might be so inclined to locate and hire the best of the best, you'd do well to avoid the "rockstar." Why would you want to look away from that one developer who has a global reputation and exceeds the hype? One reason.
Remember, you have a team of developers. When you hire a rockstar, that person might not be so good at working with or for a team. Of course, there are exceptions to the rule, but many developers with the skills and the egos to get them tagged as rockstars are probably going to act as such within the company. They'll demand the best projects, try to either take lead on everything or refuse to follow someone else's lead.
In other words, their egos probably aren't worth the accompanying headaches.
This goes along with the rockstar idea. When you hire a new developer, you can’t ignore their communication skills. Again, development is a team effort. If you hire an outstanding software engineer that can’t communicate with a team, their skills will be overshadowed by their inability to work as a unit.
No matter how many times you might hear that communication skills aren't that important for developers, you must ignore that misdirected wisdom. Unless that one developer is capable of doing absolutely everything themselves, they'll be required to communicate with others.
Resumes are great for getting an at-a-glance at a prospect. But in the end, it's just a piece of paper that only shows one dimension for a candidate. If you put too much emphasis on a resume, you might miss out on that perfect hire.
Consider the resume nothing more than a key to unlock the first door to the company, but make sure that the door is really easy to unlock. Check to make sure the prospect meets the bare minimum (such as education and at least X amount of previous experience - where X is some number you've defined to meet the lowest requirements). At the same time, don't get hung up on the fact a certain candidate doesn't have a certain level of experience. You might be looking at a prodigy that has just graduated from a university and could take your business to the next level.
Once the resume has allowed that candidate in through the door, forget about it. At this point, you should use the resume as a means to contact the candidate or their references.
Finally, you really need to vet their code—or have someone on your development team do it for you. Make sure the candidate writes clean code and documents well. Developer A might have written the perfect function, but it's impossible to tell because the code is sloppy. Developer B might have written an outstanding function that's clean and well documented. You'd want to hire Developer B.
At some point, another developer is going to have work with code written by your new hire. If you employ someone who doesn't write clean and well documented code, no one is going to be able (or want) to work with that developer.
Always look for clean, elegant code.
If you use any number of these tips in your hiring process, you can be sure the person you hire will be more reliable and a better fit for your company's needs. If you stick with the traditional hiring methods of resume/interview/references, you could either hire the wrong person or miss out on the right one. The expansion of your company depends on you getting this right. Follow these suggestions and you'll do just that, almost every time.
To find out more go to BairesDev.