Today’s digital, knowledge-based economy is not driven only by technology. Recruiting and retaining great people has never been more important.
This is particularly true of software engineers who - let’s face it - can sometimes be a little misunderstood. Whether you’re struggling to find the right candidates to join your team, or if you’re about to make your first ever software hire, here are some tips on what to think about and what to look out for.
Remember it's a team game
Whatever the talents of a given individual, they’ve got to work alongside, communicate with, report to and possibly even mentor other people in your organisation. Are they a good cultural fit, or will their presence jar with your team dynamic?
This is very important when confronted with the opportunity to sign a software engineering ‘rockstar’. Will they give you the impetus you’re looking for, or does their impressive resume belie a prima donna attitude?
This trick here is to strike the right balance. A little disruption is a very good thing, so don’t become too conservative and restrict yourself to conformists who won’t rock the boat.
Don't let trusted referrals undermine your own standards
A common practice in software recruitment is to have an existing engineer or developer refer you to other possible candidates that they rate highly. Often the employers who prefer this approach lack confidence in being able to reliably distinguish good candidates at face value.
This approach is positive when the existing employee is genuinely happy and secure in their role and refers sufficiently high calibre friends and ex-colleagues who are appropriately suited to the demands and culture of the team.
However, the opposite is true when your existing employee - perhaps unconsciously - refers candidates who make them look good by comparison. Here, the best-case outcome is wasted effort as you weed out poor candidates. The worst-case is allowing the referral to compromise your own standards and make a bad hire.
Be completely honest with them and yourself
The conventional wisdom is that you have to sell the hell out of your organisation to make any self-respecting software engineer even consider applying for your vacancy. To that end, many employers ‘dress up’ the nature of the position and size of the organisation to give themselves the best possible chance of bagging a good one.
In reality, great software engineers want to see their code get used and that can often make a smaller, less internally competitive and bureaucratic organisation, where they are the big fish in a small pond, appear more attractive than the opposite. Set out your philosophy (a good example of this is Helastel’s software manifesto) and whoever it chimes with will be a good fit.
Needless to say, being unrealistic about your remuneration package or less-than-honest about job responsibilities and opportunities is bad practice in the long run.
Get in front of them
While they can help whittle down large numbers of candidates into a manageable number, telephone interviews and online assessments are impersonal and tell you little about the human being you might be about to employ.
Technical skills are a vital part of the evaluation process of course, and organisations that lack confidence in knowing exactly what to assess can be tempted to rely heavily on online templates that test - for example - proficiency of a given programming language.
Ensure that the face-to-face interview process is central to your evaluation, and use a portion of this to assess creative thinking and problem solving ability by posing a business challenge. Invite each candidate to explain how they would address it by drawing it out on a whiteboard.
Keep the interview business rather than technology oriented
Expand on the approach above by encouraging your candidate/s to demonstrate their appreciation for what businesses try to accomplish, and how their inquisitiveness about new business paradigms is (hopefully) just as profound as their curiosity for new technology.
Ultimately, the best software engineers are good at simplifying complex ideas and prioritising their time for the greatest benefit. It helps enormously when, before (rather than after) you’ve hired them, the ability to understand the bigger picture shows up as an innate skill rather than one you have to help them develop.
Ensure they are committed to learning
Any candidate who thinks they know it all is useless to you. Software is such a dynamic industry that any statement to that effect demonstrates complacency. Moreover, it highlights a lack of desire for continual self-improvement that would ultimately benefit your organisation.
The misplaced fear with an ambitious learner is that you - as the employer - are going to have to foot the bill for courses, conference passes and reading materials that you hadn’t bargained for. “What if they learn all this stuff and then leave after a year?”
Well think about this for a moment: “What if they don’t learn anything and end up staying forever?”
As organisations propel themselves headlong into their digital futures, it will be a mistake to forget that it’s people - and not just merely technology - that will make the most difference to how they fare.
Invest in that future by hiring individuals that share and contribute to the culture of your team and the vision for your organisation.