Adding new developers who can bring real value to your software engineering teams can be quite an ordeal.
Recruitment is difficult, it is challenging, and a whole lot of things can go very wrong, very easily. No one knows this better than we do.
It was a long road to get to where we are today. The recruitment strategy we started developing early on changed more times than we can count, as hundreds of candidates and co-workers came and went through our door. We made mistakes, we learned our lessons, we gained experience—and in the process, we perfected our recruitment.
That is why we have decided to write about hiring software developers: we know how to do it well and we understand that a sound recruitment process is absolutely essential for your company’s well-being. And it’s in your best interest to understand this, as well.
So if you find yourself looking to expand your software development teams with fresh talent, you’re in the right place.
Here are the essentials of hiring software engineers.
What should you consider before kicking off the recruitment process?
There is one fundamental question you have to ask yourself before you even start thinking about recruiting:
“Do I need to hire another developer in the first place?”
This may seem a bit self-evident, but it really isn’t. You’d be surprised how often developers get hired without a well-defined purpose, just to “expand the team.”
Don’t make that mistake. You have to know exactly why another developer is necessary, otherwise you end up wasting their valuable time.
In order to establish whether you do need to add a new member to your team, ask yourself something else:
“Who do I need? What kind of skill set do they need to possess?”
This depends on what projects you have in the works. Are they missing something? Are you falling behind schedule? Are there any areas in need of improvement? If so, well, there you have it—that’s where you should allocate more human resources.
The easiest way to learn what is missing or could be improved is to talk to your developers and get feedback directly from them. Your current team is also your best window into diagnosing the possible symptoms of work falling behind schedule, which may include unfinished tickets at the end of a development sprint, low team velocity, or failure to meet deadlines.
Having identified your needs, you can set clear and specific expectations for your developers right from the start:
What projects will they be working on?
What will their responsibilities be?
What role will they serve on the team?
That last question in particular is crucial. Skills are one thing, but sometimes you may require someone to fill a specific role that’s missing from your team. Beyond needing just another software developer—which is a very valid reason in itself—it usually goes one of three ways:
1. A specialist
You may be missing a specialist who fits a certain niche with their unique expertise and know-how. A developer experienced with a particular framework, such as Flask or Django. Someone well-versed in React Native, so you can build a cutting-edge mobile app. A Machine Learning expert, if you’re getting into new technologies. Those are but a few examples. As your projects change, so do your personnel needs. Adapt accordingly.
2. A leader
You may have all of your technical requirements met, but still lack a team member with the right personality to lead the others and make sure the work runs smoothly. A Scrum Master is someone you always want to have on your team, but an arguably greater necessity is an individual who is a developer themselves and understands all the ins and outs of both coding and the technical requirements of a particular project.
3. A breath of fresh air
You may have assembled a full team of highly skilled professionals, whose only additional need is someone to bring something new to the table. This can benefit the team in all sorts of ways: increased motivation, improved atmosphere, reshuffling of responsibilities, teaching and learning from one another, approaching potential problems from a different angle—you name it.
Once you’ve addressed all of these preliminary concerns, the time is ripe to begin formulating your recruitment process.
5 fundamental dos and don’ts of recruiting
It’s relatively common knowledge that a lot of people on the job market genuinely hate going through recruitment. Ever wondered why that is the case?
If so, we have the answers you seek.
Let’s shed some light on the most common complaints candidates have about recruiting:
1. Too much to do
Don’t make recruiting unnecessarily hard on your candidates. If it’s too strenuous, a nuisance, or has too many steps, you will discourage them from putting their best foot forward before you even hire them. If you make your process effortless, your candidates will thank you for it.
2. Wasting time
If you value your applicants’ time, you value them as people—now, that is a good start of any relationship. This goes both ways, too; their time is precious, but so is yours. Don’t take too long. Be efficient, plan ahead, make the process as swift as possible.
Candidates resent being forced to go through a bunch of useless, pointless motions just because. If there’s one thing people absolutely can’t stand, it’s getting bogged down in bureaucracy. Ask only as much as you really need from them, and they will happily oblige. Plus, it bodes quite poorly for your future cooperation if you swamp them with a million things to do this early in the process.
Be transparent, not vague. Keeping your candidates in the dark isn’t doing you or them any favors. Provide them with a complete set of information from the get-go, be upfront about your expectations, and deal in specifics only. The salary formula, tech stack, or work experience are but a few examples where being honest and straightforward is in both yours and your candidate’s best interest.
5. Poor feedback
“Poor” doesn’t mean “negative,” mind you. Positive or negative, it’s the quality of your feedback that matters. Give it always, give it well, and give it fast—otherwise, don’t even bother. Point out specific reasons that led to the ultimate decision to sign a contract or not. Both sides stand to gain a lot from giving and receiving feedback, but only if it’s done properly. Stay in touch, set a date, then stick to it.
Keep these fundamental concerns in mind when figuring out your recruitment process. Address them beforehand, and both you and your candidates will greatly benefit from it. Even those you don’t end up hiring will then likely leave on a somewhat positive note, with a sense of clarity and closure, instead of feeling sour and bitter. This, in turn, should produce favorable word of mouth for your company, which is the greatest silver lining you could hope for under the circumstances.
5 reasons to turn down a candidate
Hiring is one thing, but there are also multiple reasons why you wouldn’t want to recruit certain developers. We could group these reasons into categories and apply a bunch of theory to it, but the simplest and clearest way to think about this is the stage of the recruitment process where the problems should be identified.
Some red flags can only come to light at the IT interview stage, due to the technical nature of this step, but a great deal of issues with your applicant can easily be picked up as early as during the HR interview.
Here are some of the characteristics you definitely do not want in the developers you hire that your HR department should pick up during their interview and immediately disqualify such candidates:
1. Lack of soft skills
In one of our upcoming posts, you will learn the differences between soft and hard skills, and which of the two are arguably more important in your potential hires. However, for the time being let’s just say that soft skills are people skills. If a candidate appears to be lacking in those already during recruitment, there is a strong possibility they won’t be a good fit for your team.
2. Excessive financial expectations
The salary formula exists for a very good reason. It sets clear, reasonable expectations for your developers and realistically outlines their career paths for them. The formula is transparent and fair, preventing earnings from dividing your team members and spoiling their relationship. If you start bending the rules for one candidate, you risk losing the trust and confidence of your current employees.
3. Insufficient work experience
This naturally depends greatly on whether you’re looking for a junior, advanced, or senior developer. However, even at the junior level you need to hold your developers up to certain standards and have some basic, inflexible requirements. Providing software engineering newcomers with an environment to learn and grow is commendable and can be good practice, but a complete amateur may hinder your workflow, not improve it.
4. Inadequate knowledge of the English language
This is a must if you’re based in a country where English is not an official language and you’re looking to hire local talent. Your candidate’s command of English has to be good enough to use it on a daily basis and communicate in it effectively. A vast majority of online activity in the software engineering world happens exclusively in English, and your developer will never be on the same level as the others if this is an issue for them.
5. Unwillingness to sign a B2B contract
Like it or not, the reality of the tech world is that a great deal of business is done via the B2B model. Your candidate must be aware and accepting of this, as well as willing to set up his own company to do business with you if they don’t yet have one during the recruitment process. You should also be understanding—and appreciative—of their setting this up solely for the purpose of working for you, but their reluctance to agree to B2B should immediately eliminate any possibility of further talks on your end.
Last piece of advice… okay, 2
To conclude this short hiring guide, we’d like to leave you with not 1, but 2 last pieces of advice:
1. Welcome your candidates with open arms
It’s true that you should set clear expectations for your candidates from the start. But in no way does that mean being uninviting toward applicants who do not meet your requirements.
Never alienate your candidates. Always encourage them to apply.
Granted, in some extreme cases they may end up pointlessly wasting your time, but a sincere effort to work at your company generally goes a long way. If anything, you have succeeded in making them want to be a part of what you’re doing, which is exactly what you’re going for.
This is why feedback is so important for the good image and reputation of your company. You have no obligation to hire a candidate whose skills are lacking, but why not help them get better and get feedback about your process, too?
They chose you. They came to you. They tried. That alone deserves praise and gratitude. It’s fine to turn them down, just don’t put them down.
A candidate may be underqualified now, but that may change in the future. Once their skills grow, it’s likely they’ll reach out to you again. Why? Because they’ll remember the positive recruitment experience at your company. And when they do come back for another interview, the conversation may go quite differently. It might even lead to a successful hire.
Regardless, all of the above can only happen if people apply. Your job is to convince them to get their foot in the door.
And then… just talk. See what happens. Nothing beats a good old sit-down face to face.
2. Don’t lose track of the competition
The competition never sleeps. The rules of the game are ever-changing and keeping up with the latest developments is how you stay one step ahead of the others.
This is especially true in the software engineering world. Your developers will be expecting to work with new technologies and constantly think of new ways to build, execute, and deliver. Otherwise, they will burn out and leave your company in search of other opportunities and challenges.
Always keep things fresh and interesting if you want your teams to be productive and satisfied.
Thanks a lot for reading our basic guide to hiring software developers.
Keep the pointers we have outlined for you in mind, and you will find more and more developers applying to work with you, leaving positive feedback whether you ultimately sign a contract or not.
And if you’re hungry to learn more about the ins and outs of recruiting developers, I have good news for you. Not only is this post the first in a series of 4 we’ll be putting out in the coming weeks on the subject, it is also but a taste of the hiring knowledge waiting for you in our brand new ebook!
The basics aren’t enough? Get our ultimate guide to hiring software engineers—everything you need to know about growing your software development teams, just one click away.