Choosing the best developer only by looking at their CV is difficult-to-impossible. Analysing their track record is a good idea but may not be enough anymore. A really successful developer hiring process takes a surprising mix of technical and non-technical skills and tactics. Here is a couple of them.
See how they work
When inviting candidates to the interview, let them bring their own computers. See them in their natural environment. Ask them to code a simple feature, see how they get down to it and how their code editor is set. To a seasoned coder-interviewer, these observations will provide valuable information about the candidate’s culture of work and experience.
Next, before you ultimately take on the candidate, give them a small, non-critical or non-commercial project to work on. This is just to observe the person in action and see how they blend in with your team. You can see how efficient the candidate is in delivering products and how buggy the final product is. Did they do all it took to get the product done? How creative was the solution? How well did he or she work in a team and communicate problems and delays?
Such a trial should provide additional information on the candidate beyond what was already evident after the job interview, and will possibly comb out inefficient “bigmouths” in disguise.
Talk – after all you’re hiring a person
Be kind, be natural when you try to recruit a developer. Introducing yourself (and the company) is a good way to kick off the interview. Candidates are real people and like talking to people. Do not act as if you were Futurama’s RecruitBot3000 (or something of the like), following the questioning algorithm. Be creative, ask people questions about their passions. Make the effort to actually get to know them and the projects they’ve done.
Copy-paste, generic messages sent via LinkedIn are just as bad as repeating the same cliche set of interview questions. They are not just stale, but downright disingenuous. They may also show a complete lack of research — asking for information which is already available on your LinkedIn profile, along with your GitHub portfolio shows you have not done your homework.
By asking people to say what they consider their biggest weakness you are getting them to tell you the same hackneyed answer they forged a dozen interviews ago. Is this really what you want to hear?
Seek the similarly-minded
When recruiting, make sure the candidate’s personal attributes and work style are compatible with the corporate culture of your company. The best way to the types of candidates which align your needs is to ask recommendations from your existing employees. Chances are they stick with similarly-minded people, making it easier for you to find the exact candidates you are looking for, and increasing the chances of building a homogeneous working environment.
Also, be clear with candidates about who you are as a company and what your mission is. Don’t be afraid to admit you’re a startup, as some may see it as an advantage. Tell people what your corporate values are. Regardless of their skills, do not expect developers with the big-business background to do well in a startup. Why? The DNA of a startup assumes some risk-taking and flexibility and incredible initiative to overcome challenges, while big companies eradicate such tendencies.
Check how they’d deal with a non-technical client
There is a saying which frequently proves true when talking to technical people: “if you cannot explain a complex idea to a layman (i.e. using just a few simple sentences), it means you do not understand the concept yourself”. We try to employ this assumption in our recruitment and it helps a lot.
We believe it makes perfect sense to ask the candidate to explain a technical term in the most accessible way to the recruiter (who does not need to be a technical person). This tests communication skills and is a very telltale measure of general understanding of technology.
Discuss experience, not education
Forget education. In the ever-changing, dynamic world of IT, skills (or knowledge, for that matter) become obsolete every couple of years. Do not be a stickler for diplomas and schools. Instead, seek developers who, over their careers, have consistently demonstrated a will to learn new things quickly and are never challenged by new technologies.
Education may be important to some extent but experience, determination, persistence, curiosity, good time management and team spirit are more in demand nowadays. Assessing these traits will also help you decide if the person will blend in your culture.
Many great developers (designers, project managers) are self-taught and may lack proper education in the area. When you require specific academic qualifications from your candidates, you are missing out on these otherwise talented people who could benefit your company in multiple other ways.
In the IT world, the advantage of solid experience over education is evident but often overlooked in the recruitment process. The traditional approach to finding staff (i.e. “education first”) puts you at the risk of losing nearly half of the candidates, for no actual cause. New generations of developers use online classes more extensively and may not be able to present school diplomas and certifications, while their skill may still be extremely valuable. Think twice before you put participation in professional certification programs in your requirements list.
Portfolio is king
To be sure that you are assessing a candidate’s actual skills rather than their (often outdated) university knowledge, start from looking at their portfolio. Do the due diligence and research the projects before talking to the applicant. Go through particular projects in the interview, ask more detailed questions and shortlist those whose professional experience most matches your needs.
And, last but not least: check candidates’ references when you are to recruit a developer. Look for those programmers who are ready to provide references from their previous projects so that you can get real feedback.
Use your judgment and intuition
All in all, applying some common sense is always a good idea. Technologies change, and so do ways of finding the best workers. This may involve tactics which seem counter-intuitive at first (like ignoring education) but pay a dozen. On top of the willingness to experiment, success in recruiting requires a human approach.