This is a repost of an article posted on Medium.com which you can read here.
If you’re hiring in the tech industry at the moment, you’ll be aware of two seemingly contradictory facts.
The first is that it is currently the hardest time in history to recruit good developers. It’s common knowledge that there is a shortage of engineering talent globally.
In apparent opposition to this fact is that it is simultaneously the time in history with the most accessible candidates. The availability of e-learning resources and rapid improvement in collaboration tools and internet speeds mean that there are more developers than ever.
Now it is more important than ever to effectively and efficiently screen the resumes of incoming candidates. A good resume screening process will help you to cut out the noise and focus on viable candidates.
Our resume screening process is based on a point system. It involves assessing each resume against 7 criteria that we value in developers. Each point is a binary 1/0 decision, with the points added up to provide a “score” for the resume overall. Candidates scoring 5 points or above receive a follow-up for the next round of the interview process (a technical task).
Here are the 7 criteria we use to assess candidates…
Has the candidate studied, worked for, or otherwise been endorsed by a reputable establishment? Examples may include: studied at a reputable university, or worked for or completed a project for a well-known company. While credentials are not necessary, it does mean the candidate has been pre-screened by a trusted party.
Does the candidate have specific and referenced industry experience with the relevant technology stack? This will typically be “PHP + Laravel” and/or “Ionic + TypeScript”. It’s not mandatory (good engineers can easily pick up new languages and frameworks), but it does mean they will hit the ground running.
3. Code samples
Does the candidate reference an active GitHub profile or examples of work they’ve actually completed in the past (such as portfolio items)? Submitting a resume for a programming job with no samples of work completed in the past communicates a lack of awareness and common sense about the software industry.
Is there a an obvious sense of “progression” in the candidate’s resume? Have they grown during their career, or have they been pigeonholed into doing the same thing for years? We want candidates who have proactively developed their career over a period of time.
Does the candidate communicate a passion for the craft of engineering? Look for references to pet projects or extracurricular study outside of their work history.
6. Communication skills
The resume should be free of obvious spelling and grammatical errors. At the end of the day most of our communication is through writing, so candidates who can’t even submit a error-free resume are going to have problems downstream.
Does the candidate go out of their way to impress us? Do they reference how they could help the company, or why they’re interested in working for us? We want to work with people who are actually interested in working for our company and help us to achieve our mission (instead of just turning up for a paycheque).
Some may criticise posting this list in that it provides candidates with too much knowledge about our internal recruitment processes, and so enables a candidate to “game” the system.
In response to this I would posit that the good thing about this list is that it can’t be gamed. If it’s even possible for you to present your resume in such a way that it covers all 7 points, it’s very likely that you’re a developer we would want to talk to.
Developer looking for work?
If this sounds like a company you’d like to be a part of, send your resume and coverletter to [email protected].
Thanks and acknowledgements
This process was generally inspired by Joel Spolsky & FogCreek: https://blog.fogcreek.com/video-guide-how-to-hire-developers/2-resume-screening/