Uploaded by danacgnova

IT Recruitment Process that Works by Devskiller

advertisement
Tech Recruitment Certification by
IT recruitment process
that works
Proven strategies, industry benchmarks and
expert intel to supercharge your tech hiring
Vol. 1
Master the essential skills of IT Recruitment and get certified
IT recruitment process that works
We are on a mission
to provide Tech Recruiters with the
know-how, skills and tools necessary to
hire the best candidates on the market.
We aim to support you with transforming the way your company
recruits programmers, encourage cooperation between HR and IT
departments to streamline the recruitment process and let you
skyrocket your IT recruitment KPIs.
1
IT recruitment process that works
Tech Recruitment Certification Course
by Devskiller
This ebook is a part of the
Devskiller Tech Recruitment
Certification Course.
It will prepare you to get certified
and earn a badge proving your tech
recruitment skills and expertise.
This certification course is based on two original resources by Devskiller:
1 . IT recruitment process that works. Proven strategies, industry
benchmarks and expert intel to supercharge your tech hiring,
2 . Source software developers like a PRO. Industry insights, expert
advice and hard data to jumpstart your IT sourcing.
Certification questions asked during the final examination will verify the
knowledge contained within these resources.
To make it easier for you to absorb the knowledge, each chapter is followed
by a series of questions allowing you to assess your current sourcing efforts.
This module is called Self-Assessment.
2
IT recruitment process that works
The benefits of becoming Tech Recruitment
certified
Thanks to the Tech Recruitment Certification, you will get to:
•
Fast-track your career – invest in yourself and your career by staying
up-to-date on the latest IT recruitment practices,
•
Grow your business – learn how to hire the right programmers for
optimal results,
•
Prove your worth – being certified means showing your expertise
in the field of IT recruitment.
What’s in the course?
Devskiller Tech Recruitment Certification Course covers the
fundamentals of technical recruitment.
We provide you with up-to-date information about developer
landscape, findings of industry reports and intel on the
IT recruitment process along with its stages.
We also present you with tried and true tricks and effective tools
designed to boost your HR metrics.
3
4
IT recruitment process that works
Table of Contents
Mission
1
Tech Recruitment Certification Course by Devskiller
2
The benefits of becoming IT recruitment certified
3
Introduction
6
Chapter 1:
Chapter 2:
Chapter 3:
Chapter 4:
Chapter 5:
Before you start
7
Self-Assessment
11
How to design a fully functional hiring process in IT
12
Recruitment + marketing = awesomeness squared
13
The 5 steps to successful hiring
14
How to optimize
16
Self-Assessment
18
Screening & Interview
19
How to optimize screening and interview
21
Screening programming skills
23
How to optimize skill screening
26
What makes a good programmer apart from technical skills?
28
How to verify these qualities during interview
33
How to get started with behavioral questions
34
Biggest mistakes you’re making when screening in tech
37
How to use first impression effectively in screening
39
Motivation 3.0
40
Tools for screening technical talent
42
Self-Assessment
49
Offer/Hire
50
How to optimize
51
The biggest mistakes you’re making when offering a job and hiring
53
Self-Assessment
54
Quality of Hire
55
How to optimize for Quality of Hire
58
Self-Assessment
60
5
IT recruitment process that works
Chapter 6:
Chapter 7:
Chapter 8:
Chapter 9:
Time to Hire
61
How to optimize for Time to Hire
63
Self-Assessment
64
Cost per Hire
65
How to optimize for Cost per Hire
67
Self-Assessment
69
The cost of recruiting a developer
70
Cost-per-hire: what it’s really about
71
Basic costs of each stage of recruitment process
73
Self-Assessment
75
Hiring more women in tech
76
Women in tech: benefits
78
Do developers want gender diversity?
79
Female developers in numbers
80
How to optimize for diversity
83
Self-Assessment
87
Chapter 10: HR and IT department cooperation – how to make it work
The HR perspective
89
The IT perspective
90
Where does the fault lie?
91
How to optimize
91
Self-Assessment
92
Chapter 11: A glossary of IT terms for non-coders
Conclusion
88
93
General Terms
94
Culture
94
Roles
95
Programming languages and technologies
96
Databases
97
User Interface
98
Testing
99
Development tools and processes
99
Architecture
101
Infrastructure
102
104
6
IT recruitment process that works
Introduction
According to CareerBuilder research, “66% of companies make a bad hiring
decision each year.” That’s right: 66 out of 100 companies looking for people to
join them make a mistake somewhere along the recruitment process.
As Les McKeown, CEO of Predictable Success argues in a remarkable post “How to Hire Great
People – Every Time”, “the success of your business is in the hands of your people. They take
hundreds – probably thousands – of individual actions on your behalf every day, and if the
sum total of all those actions is a net positive, you win. If the overall result is a net negative,
you lose.“ In other words, bad hiring affects your organizational outcomes, but to what extent?
Hiring bad programmers has actually been named one of the main mistakes that kill startups
by Paul Graham.
The future of the company lies in your hands. In this ebook, you’ll learn how to make good
tech hiring decisions through optimizing your entire tech recruitment process. What does the
ideal IT recruitment process look like? According to research by Neeraj Kumari from Manav
Rachna International University, ideal recruitment efforts should “provide information so that
unqualified applicants can self select themselves out of job candidacy; this is, a good recruiting
program should attract the qualified and not attract the unqualified. This dual objective will
minimize the cost of processing unqualified candidates.”
Here’s how to make this happen.
IT recruitment process that works
Chapter 1:
Before you
start
7
IT recruitment process that works
Hiring in tech is a tall task, but having a structure you can rely and fall back on
makes things a lot easier for tech recruiters. Let’s begin with what you need to
know before you get out there and start hiring.
1. Understand the job market
It may be a bitter pill to swallow, but nowadays there are at least 4-5 opportunities available
for every programmer. Outstanding programmers know their value and if your position doesn’t
sound interesting (and profitable), they won’t take your offer into consideration. You’re not the
only one making a choice here.
John Sullivan’s research reveals that 10% of candidates are hired in 10 days. Great programmers
will not wait for you – you need to act quickly to get the best talent. Just remember, extended
candidate search does not necessarily equate to finding a more capable programmer. In fact,
it’s quite the opposite: the best candidates are quite often long gone and you’re left with people
whose skills may not be satisfactory. Keep that in mind throughout the whole recruitment
process and be ready to act.
2. Be aware of employee turnover
Employee turnover is a huge problem for most companies and long-time employment is almost
unreal. According to the 2015 Recruiter Nation Survey, average employee tenure is below
6 years, 30% of people change their job in 1-3 years and 29% in 4-6 years. Quarsh research
shows even more alarming numbers – 20% of new hires leave in 12 months! Even with low
turnover you need to be prepared for high recruitment costs.
3. Understand the true cost of recruiting a developer
Given the talent scarcity in tech, hiring a new programmer comes with a cost. As a general rule,
the better the programmer, the more expensive the process gets. According to “writer and Talk
of the Town editor at The New Yorker” Lizzie Widdicombe, the best ones are like superstars
with their own agents.
The cost of recruiting a developer is covered in Chapter 8.
8
IT recruitment process that works
4. Define and understand who you need to hire and what you can offer
You need to understand who you are looking for, what kind of programming skills this person
should have and what their job is about. If you don’t code and you can’t understand their
responsibilities and tasks, it can be tricky. The best thing you can do is reach out to your
colleagues from the IT department to tell you more about what kind of employee they are
looking for. They will be able to tell you which language(s) and skills you should be looking for
and might give you some hints on how to verify them.
Although as a recruiter you might not be familiar with details of all programming skills, you
need to understand everything that is stated in your job description. Getting to know at
least the very basic IT vocabulary is something that you should definitely do (psst, head on to
Chapter 11 to find a list of most frequently used IT terms).
Matt Linderman wrote that in 37signals they have a policy that states: “never hire anyone to
do a job until you’ve tried to do it yourself first.” Of course it is impossible to learn (and master)
every language or skill but even if you try to learn a bit about programming, it helps you
understand the specifics of a programmer’s job. This in turn allows you to screen candidates
more efficiently.
You also need to understand who you are looking for in order to prepare the right job
description. Rethink what you can offer. Paul Graham once said, “great hackers think of
it as something they do for fun, and which they’re delighted to find people will pay them
for.” It’s your job to make it interesting and clear. Take the extra time to rethink your
conditions and your proposal. Make your offer clear, succinct and exciting. Tell them what
you expect and what you can provide them with.
5. Plan your recruitment process
Once you know who you are looking for it’s time to think over the whole process and get
prepared for each stage. Even if it’s not the first time you are recruiting a programmer, there is
always room for improvement.
Think about the following stages and answer these questions in detail:
9
IT recruitment process that works
a) Sourcing
• Where do software developers spend time in the online and offline world?
• What are the specifics of these places? Can you afford to use their premium
versions for recruiters, like Stack Overflow Talent?
• What sourcing methods are you going to use?
• How are you going to approach these people (internal messages, phone, email)?
• What can you offer? What’s so special about your organization?
• How can you distance yourself from the negative reputation tech recruiters
typically get in this initial stage?
b) Screening
• How are you going to evaluate whether the candidate might be the employee you
are looking for?
• What screening methods are you going to use?
c) Interviews
• How are you going to evaluate company fit?
• How are you going to verify programming skills?
d) Offer
• How do you make the decision to hire or not?
• Is there usually consensus? Do you need consensus to make the decision?
• How is the offer made?
• How quickly can you make the offer?
e) Hire
• What needs to be done in order for the selected person to start working?
10
IT recruitment process that works
6. Your attitude makes a difference
Developers and recruiters have the same goal. Coders look for jobs which are cut out for them,
preferably ones that are challenging and provide learning opportunities. Recruiters aim to fill
open positions with qualified people who can code well, do a good job and fit company culture.
Sadly, despite having common goals, they find it difficult to work together.
There’s a way to do that: don’t be a robot. Hire “people, not units of labor” and things are going
to work out really well for you. The first step is to look at your hiring process.
Self-Assessment
1.
What do developers find interesting about your company?
2.
What is your employee turnover? How many of the people hired
across the company in the last 12 months left? Do you know why
they left?
3.
What was the cost of hiring for the last three developers
you’ve recruited?
4.
How familiar are you with tech jargon?
5.
Which of the stages in the recruitment process need your
attention most?
6.
To what extent do you personalize your hiring efforts?
Is communication personalized at every stage of the process?
11
IT recruitment process that works
Chapter 2:
How to design a fully
functional hiring
process in IT
12
IT recruitment process that works
Les McKeown of Predictable Success rightly believes that regardless of
company size and industry you need to treat the “hiring process with the same
degree of fierce professionalism as you would the development of a strategic
plan or the design of a new product or service.” Unfortunately, hiring in tech still
relies heavily on gut feeling and curve-ball questions. Luckily, there are means to
steer away from them.
You can only make your hiring work if you design a fully functional hiring process. This way,
when things go wrong you can fall back on your structure and find out why it happened.
The aim is to look at each of the steps and analyze where you have room for improvement.
What’s more, make sure to look at the HR metrics (these will be covered in detail in Chapters
5 to 7), you simply can’t optimize the process if you don’t keep an eye on them. You need to
know e.g. what your Time to Hire is before you try to improve it to know if you’re actually
changing it for better or worse.
Here’s how to get started.
Recruitment + marketing = awesomeness squared
In order to hire great people, your recruitment process has to be scientific. You need to:
1. Establish a template so you can A/B test for optimal results,
2. Build a structure you can fall back on when things don’t work out.
The idea is that when (or if) you do mis-hire or fail to hire, you can look at the process and trace
your steps back to the place where things went wrong.
Your aim should be to design a process you can easily modify, replicate and draw conclusions
from to hire great people every time you’re recruiting. Just like marketers use conversion rate
optimization to improve every stage of the marketing funnel, you should be trying to optimize
every stage of the recruitment funnel for Quality of Hire, Time to Hire and Cost per Hire.
13
IT recruitment process that works
The 5 steps to successful hiring
Here are the five steps you need to take to hire successfully in tech:
Source: Devskiller
But it’s not only about these steps. It’s also about nurturing potential candidates throughout
the entire hiring process.
Bear in mind that each of these steps should be cleared before the applicant proceeds to the
next one.
1. SOURCING
According to HRZone, “Sourcing is (…) a sub-set of recruitment, which is proactively searching
for the most talented candidates for a particular role.” The aim of sourcing is to identify,
assess and engage candidates through the use of recruiting techniques. Because the war
for tech talent is in full swing, sourcing software developers is now more difficult than ever.
Jobvite reports that 65% of recruiters claim talent shortage is the biggest challenge in hiring.
Despite the fact that sourcing is becoming increasingly challenging, HR professionals are all
using identical recruitment techniques. This means that everybody is circling around the same
talent pool, identifying and reaching out only to top of the pile candidates who are sick of
recruiter spam.
However, it doesn’t have to be this way – there are tools and techniques you can use to get
off the beaten track. We’ve released an ebook devoted only to this particular stage so you can
master the art of tech sourcing.
14
IT recruitment process that works
2. SCREENING (aka “select or reject”)
While screening, recruiters review resumes and cover letters, conduct video or phone
interviews, and identify top candidates. They also ask candidates to take skill screening tests
which allow them to differentiate applicants from do and don’t without the involvement of
personal bias. In other words, pre-employment tests let you assess the eligibility of your
candidates against your job criteria.
While it’s important to understand that skill screening cannot be seen as an alternative to
interviewing a candidate, testing their knowledge of technical minutia early stage allows you
to decide if you want to get to know them better. That said, pre-employment tests should be
brief and resemble actual work to be done if hired. The “first day at work” experience is much
needed because it shows both sides what can be expected.
3. INTERVIEWS
In most cases, companies invite all of briefly pre-selected candidates to an interview, where
a technical person representing the organization verifies their skills one by one. This is a huge
waste of time and resources – as stated before, skill screening by means of dedicated software
should take place early on to optimize the whole process for speed and efficiency.
4. OFFER
You’ve found the right person to join your developer team and now it’s time to make them an
offer. After interviews and reference checks are cleared, the successful candidate is usually
presented with a verbal offer (typically by phone). It’s normally followed with a formal offer
which according to Alison Doyle “confirms the details of the offer of employment including
15
IT recruitment process that works
some or all of the following: job description, salary, benefits, paid time off, work schedule,
reporting structure, etc.” Written offers help avoid misunderstandings regarding terms and
conditions of employment.
5. HIRE
This step is pretty straightforward (yet super rewarding!). You need to make sure all the
documentation necessary to complete the hire is in order, including permits, medical check
documentation, etc. As a matter of fact, it is advised that all checks are completed for the
potential hire before they accept the offer. Should you fail these requirements, you may need
to start over which means a higher Cost per Hire and extra time to fill the vacancy.
Remember that every recruitment process should be closed which means you need to notify
all applicants who didn’t get selected.
+ NURTURING (throughout the entire process)
Nurturing your leads should start early on, preferably during pre-apply stage in order to
increase your chances of finding the right candidate to fill the position. Post-apply stage
is equally important because you need to “sell” your company to the developer. For more
information on how to create a complete nurturing strategy in recruitment, read this concise
yet informative post by Elyse Mayer.
How to optimize
Treat every single applicant like a potential customer,
According to Mayer, “rather than going dark, remember to close the loop with every applicant
who reaches out by acknowledging each contact, resume submission or interview appearance.”
Someone might not be a fit now, but they may be in a couple of years – make a good impression
and do all it takes to make it last.
Build a strong employer brand,
According to LinkedIn data, companies with a strong employer brand get a head start. LinkedIn
uses their internal metric called Talent Brand Index (TBI) which indicates talent brand strength
of every company in the network.
16
17
IT recruitment process that works
According to Alyssa Sittig, a strong TBI means:
• A 31% higher InMail acceptance rate,
• A 43% decrease in Cost per Hire,
• A 20% higher rate of hire (faster growth,
also due to the ability to attract top talent),
Source: LinkedIn Talent Blog
• 2.5 x more applicants per job post
on LinkedIn.
Source: LinkedIn Talent Blog
Get feedback from freshly hired employees,
According to Glassdoor, you should utilize the onboarding period to get feedback on your
recruitment process. You should also remember to talk to your recently hired developers and
give them basic feedback on how they are doing. This can be a learning experience for you, as
Glassdoor suggests you should “continue soliciting feedback from new hires at 30-, 60- and
90-day intervals to gauge how confident they are that they made the right choice to join your
company.” This decreases staff turnover costs which according to Leigh Branham reach up to
200% of one’s annual compensation.
Stay human at every stage of the hiring process.
Remember that the recruitment process is just like the sales funnel, so as you lose people along
the way, your chances of hiring successful candidates are getting dimmer and dimmer.
IT recruitment process that works
Self-Assessment
1.
Are all of the stages mentioned above (including nurturing) present
in your recruitment strategy?
2.
What’s the weakest link in the entire process?
3.
Who is involved in the process? How many people?
What departments do they represent?
4.
Are your IT professionals involved in the recruitment process?
If so, does it create any problems or bottlenecks?
5.
Do you collect feedback from new hires? If you do, at what intervals?
6.
What are the HR KPIs you focus on when you work? Which of the
metrics tend to get neglected? What can you do to improve them?
18
IT recruitment process that works
Chapter 3:
Screening & Interview
19
IT recruitment process that works
According to research by Stack Overflow, developers feel that the interview is
the most annoying aspect of the job search (17.45%).
Source: Stack Overflow
Interestingly, Jobvite research suggests that interviews (47%) are the most important factor in
forming an opinion of a prospective job.
Source: Jobvite
Developers are fed up with bad screening and interview processes and they put the blame on
the prospective employer and their tech recruitment team. As developer, founder, investor,
and philanthropist Yegor Bugayenko wrote in his post “Why I Don’t Talk to Google Recruiters”,
the hiring “machine is designed to process hundreds of candidates a month. In order to fish and
20
IT recruitment process that works
attract them, there is an army of monkeys recruiters sending warm emails to people like me.
They have to screen candidates somehow, and they are too lazy to make this process effective
and creative. They just send them through random programmers who are supposed to ask as
complex questions as possible.”
Painful as these words are, you know Bugayenko has a point. Screening and interview are an
essential part of the hiring process because they can attract or deter candidates from you.
Results of Future Workplace & CareerArc study via workplacetrends.com show that almost
60% of job seekers report poor candidate experience. As these numbers indicate, there’s still
much room for improvement.
How to optimize screening and interview
Define your must-have skills and qualities,
Career coach & Forbes contributor Lisa Quast argues that “clearly defining the job and position
requirements (education, experience, knowledge, skills, behaviors, and attitudes) necessary for
someone to be successful will actually help make the interview process easier. You then have
a roadmap to follow for evaluating each candidate against the requirements to determine who
will be the best fit.”
Have a standardized interview scenario,
It’s generally recommended to use a standardized interview scenario to reduce the influence of
personal bias. You might like someone but it’s only fair you treat them the way you treat others
and let their performance shine.
Ditch magic bullet questions,
Don’t ask people what their spirit animal is. Make sure you use the little time you have to
find out whether this particular person is right for this particular job. Answers to outlandish
questions are not indicative of future performance, so it’s high time you said goodbye to them
for good.
21
IT recruitment process that works
Ask about their interests,
In “14 things to look for when you want to hire a programmer” we covered a set of features
which the ideal programmer should have. Ask them what blogs they follow, if they attend
meetups and learn new things. As Peter Bell, Head Learning Instructor at the Flatiron School
argues, the fact that someone only programs in one language and is never venturing out of it to
try something new may indicate they don’t have the qualities you need.
Watch this Google for Entrepreneurs and General Assembly class led by Peter Bell for more
insights on hiring developers.
Get to know the candidate better,
Make sure to ask your candidates about:
• Their background – their answers will not only help you get an understanding of what and
how they gained their knowledge, but they will definitely let you get to know them a bit and
allow you to test their communication skills,
• Time commitments – can they fully commit to your company? Or are you looking for
someone part-time?
• Working preferences – what working hours do they prefer? When are they the most
efficient? Do they prefer working in an office or at home?
• Leadership skills – how would they manage a team of programmers? Do they see
themselves as project managers, developers or maybe – conveniently for you – both?
If you are looking for a programmer to replace someone else you can ask the candidates about
issues their predecessors have met in the past. As Shahzil Amin wrote: “their answers should
be similar to the solutions you used, or better. If they can’t give a concise answer, that’s usually
a good indicator that they are not the right person for the job.”
Ask about their portfolio,
A portfolio is a must for most programmers. If they don’t have one, ask them for examples of
their work. What projects are they most proud of? Do they contribute to open source? Their
answers will reveal some aspects you are interested in. Matt Linderman wrote:
22
IT recruitment process that works
“though you may not be a coder, you’ll be able to tell if there’s some code there. And the fact
that somebody is contributing something is a good start.” JohnPaul Bennett adds: “They will
often program all day at work and contribute to the open source at night, for free! This makes
open source programmers passionate about their craft. Also, keep in mind that someone who
loves what they do tends to be more reliable and trustworthy.”
Be friendly & approachable.
A study by Mattersight reveals that a staggering 80% of employees “say they would take
one job over another based purely on personal connections formed during the interview.”
Be professional, but don’t forget to be human. A lot of people seem to believe these two are
polar opposites, which they’re clearly not.
Screening programming skills
Screening programming skills is a crucial part of the recruitment process so you need to design
a bona fide system of verifying skills.
As Isaac Lyman argues, “a developer at her best is a Swiss Army Knife for software — someone
whose creative, insightful and rational thought process makes her a valuable part of any
discussion in the company.”
How do you know if someone’s skill set and mindset can make a valuable contribution
to the company?
Knowledge of technical minutia is an important part of the equation but not the only one –
so are problem solving, abstract thinking, creativity and a willingness to learn.
How do you screen skills effectively? You might be tempted to ask your candidate to
invert a binary tree on a whiteboard (nope), look at your code and find bugs (no, no, no) or
throw random programming questions at them and hope you understand their answers
(no, thank you, that’ll never work).
Now, let’s focus on the much dreaded whiteboard interview. As Adrianne Jeffries reports,
whiteboard coding sparks a lot of controversy among programmers. See what world leading
techies have to say about whiteboard interviews.
23
IT recruitment process that works
• David Heinemeier Hansson, Creator of Ruby on Rails, Founder & CTO at Basecamp
(he actually calls highly technical interviews “whiteboard algorithm hazing”),
• Tim Dierks, Made of the ashes of supernovae. Security @Google,
• Ivan Morgillo, Author of RxJava Essentials, Learning Embedded Android N Programming
and Grokking ReactiveX, speaker, Android Engineer at @Clue.
24
IT recruitment process that works
Sadly, the biggest problem of the technical interview is that it doesn’t resemble work to be
done if hired. In many companies, candidates are asked to write code on paper or a whiteboard.
In fact, the technical interview is by far the biggest problem of tech hiring: Sahat Yalkabov’s
Medium post kind of says it all:
Source: Medium
Is there a better indicator of future performance than rote memorization? You bet there is.
Research from Frank L. Schmidt (University of Iowa) and John E. Hunter (Michigan State
University) “The Validity and Utility of Selection Methods in Personnel Psychology: Practical
and Theoretical Implications of 85 Years of Research Findings” shows that work sample quality
is the best indicator of performance if hired.
How to get a viable work sample from the person interviewed? Well, there’s only one tool you
really need to test coding skills and that’s a computer. Being able to recall and write bug-free
code on a whiteboard doesn’t mean the person will do well. Remember that the closer you
get to the actual work to be done, the more likely you are to hire a great dev. You can create
a first day at work experience for the candidate using dedicated skill screening software.
Observing a candidate doing his/her thing, coding away the way that feels natural to them and
solving problems tells you a lot more about them than artificial trivia or whiteboard tests. For
optimal results, you should test programming languages, frameworks and libraries, preferably
in a manner which resembles real IT projects. Not only does it yield reliable results, it doesn’t
make people frustrated. Win-win, right?
25
IT recruitment process that works
How to optimize skill screening
Test skills early in the process,
Avoid interviewing people who don’t meet the requirements of the position to speed things up.
One of the biggest gripes for recruiters is spending time on the wrong candidates.
Skill screening is especially important in the context of recruiting developers – your aim should
be to improve the Quality of Hire and Time to Hire. Screening at early stage allows you to do
exactly that.
How can you verify if someone can code? Test them. Apparently there are many people who
think they can code when, in fact, they can’t. To screen such candidates, you can conduct
a simple online test – “the goal is not to prove that the candidate is some kind of coding genius,
but that they know what the heck programming is. Yes, it’s sad and kind of depressing that this
is even necessary, but if you don’t perform this sanity check, trust me – you’ll be sorry” points
out Jeff Atwood. You can also implement a paid audition project where your candidates will
deal with real life tasks.
Find a flexible tool,
Use a platform which allows you to use ready-made programming tests or create your own
from scratch (like our very own Devskiller) so that it fits your needs.
Ready-made tests created by experts help you kick off testing programming skills quickly and
make it a part of the pre-screening process in an easy way. Bear in mind that creating your
own programming tests is especially valuable if your IT department is heavily involved in the
recruitment process and wants to verify whether a candidate will be able to deal with specific
programming problems that they are hired for.
Test programming languages, frameworks and libraries,
The real value of a programmer is not only mastering one programming language, but also
knowing certain frameworks and libraries inside out. Thus, they are able to solve programming
problems quicker and are able to find a better solution.
26
IT recruitment process that works
Source: Devskiller
This is extremely useful for tech recruiters who can’t code. Asking random or vague questions
like “Are you familiar with XYZ?” can’t provide you with clear answers you should use to
support your decision.
Say no to ABC tests,
ABC tests itself are just not enough to assess if somebody can resolve programming problems
or write good quality code. Multiple choice questions combined with algorithmic tasks may be
sufficient to use if you are recruiting for an entry position but are simply not acceptable in any
other case. If you want to screen programming skills with a test, pick up one that also contains
programming or SQL tasks or code review challenges to see the candidate’s programming skills
in action.
Make sure your test resembles work to be done if hired for the position.
Test actual knowledge. Inverting a binary tree on a blackboard doesn’t tell you if the person
is going to do well at work. Their knowledge of technical minutia combined with a positive
interview experience is far more likely to do so. Allow the candidate to use their favorite IDE
and all other resources while verifying their programming skills, e.g. Google, GitHub, Stack
Overflow, just like they would do at work to resolve problems.
27
IT recruitment process that works
What makes a good programmer apart from technical skills?
What are the qualities of a great software developer? What qualities make great software
developers… really great? Below you will find a list of features that you should take into
consideration when recruiting a programmer and some tips on how to verify them.
Learning skills
If you have to choose just one skill great programmers have, it is definitely the ability to learn.
In his article “What Skills Employers Want in a Software Developer: My Conversations with
Companies Who Hire Programmers”, Matt Weisfeld mentions the words he heard as a young
programmer looking for a job: “ ‘We don’t hire people for what they know, but what they can
learn’. These words have always resonated with me. From that point on, my career strategy as
a programmer has always been to look forward instead of simply focusing on a specific, current
technology. As someone else told me more recently, ‘As a programmer you don’t have a single
30-year career, you have 30 one-year careers.’ ”
Programming is constantly changing, so a person who doesn’t want to learn is going to lose
out. It is important if your new programmer is going to be better at the job you’re offering and
how fast he or she can learn new things. Top programmers always follow the latest trends, they
look for new solutions and learning opportunities. They are the masters of self-learning. These
programmers are relatively easy to find – ask your candidates how they learned a specific skill.
Do they read/follow any programming-related websites, magazines, books? What do they do to
be up-to-date? Their answers will show you their willingness to learn.
Learning doesn’t refer only to programming – good programmers have to be quick learners
also outside of programming, for example, to understand the environment where their
software will be implemented. Ask them whether they mastered any skills (cooking, singing,
drawing, skateboarding or anything at all). If so, they are more likely to master something else.
What about their degree, does it matter? In his article “This is why you never end up hiring
good developers”, Laurie Voss writes: “engineers write code and ship software; academics
prove theories and write proofs of concept. Somebody smart might be able to do both, but it’s
by no means a given, or even very strongly correlated.”
28
IT recruitment process that works
Curiosity
“Curiosity is, in great and generous minds, the first passion and the last” said Samuel Johnson
and that is also true for programmers (and their great and generous minds). Let’s look for
a more contemporary reference which develops Johnson’s point of view: Dan Pupius says
that “curiosity is important throughout the life of an engineer” because it pushes you to learn
new languages, experiment and look for new solutions, which is exactly what you want in
an engineer. It also drives you to investigate the architectural choices of others, as well as
question assumptions. Pupius actually claims that a lot of qualities usually associated with great
engineering “stem from a rich sense of curiosity.”
Another great techie, John Allspaw, Chief Technology Officer at Etsy makes a good point in his
post “On being a senior engineer”. He says that top notch developers are inquisitive and they
tend to ask themselves and their peers the following questions while they work:
• “What could I be missing?”,
• “How will this not work?”,
• “Will you please shoot as many holes as possible into my thinking on this?”,
• “Even if it’s technically sound, is it understandable enough for the rest of the organization
to operate, troubleshoot, and extend it?”.
Although at first glance it may seem that these questions are asked by a serial pessimist, that’s
not actually the case. They are asked by an inquisitive individual with a passion to write elegant
and self-consistent systems.
Passion & enjoyment
According to John Krystynak, “genuine commitment to continuous learning” is one of the
essential qualities of a good developer. As Krystynak rightly argues, “you have to love the
fundamental practice of going from not knowing to knowing, every single day” otherwise you
won’t be good at it.
This holds especially true in the world of IT. While it’s useful to have your way of doing things,
it’s essential you venture out of what you know and find new (perhaps faster) ways of getting
things done. One of the ways to do that is by noticing patterns and drawing conclusions quickly.
29
IT recruitment process that works
There are great many ways to develop when you’re a developer (pun intended), including:
• Attending industry events, such as conferences and hackathons
(which Thomas So of AppLovin calls “job readiness training)”,
• Finding a mentor,
• Working on a side project,
• Asking for peer feedback.
With no passion, there is no motivation to search for new solutions. Passion can help get
through difficult cases. Are your candidates excited when you talk? Do they seem to enjoy
programming? What do they sound like when they talk about their previous work? Ask for
their opinion – if they have a strong opinion and they can talk a lot about something – they
are passionate about it. Working without passion and enjoyment will make your new staff
constantly unsatisfied.
Communication skills
Programmers who don’t want to or can’t communicate with other team members don’t
perform effectively in the long run. Check if your candidates can convey their ideas both
accurately and effectively. You can apply the pitching method often used in the world of
start-ups. Can your candidates sell themselves in a short presentation on their skills or field of
expertise? Do they explain things in a way layman would understand? It will tell you much more
about a candidate than a regular interview.
In his Quora answer to this thread, Damien Filiatrault, Founder of Scalable Path states that
“good communication skills directly correlate with good development skills.” Here’s why:
• You need to know what questions to ask when you don’t understand or need
to double-check,
• It’s possible for you to figure things out based on communication with colleagues
without having to rely on written specifications,
• Concepts are typically understood and communicated quickly in a team
of successful developers,
• It’s possible for great programmers to communicate cogently with both technical
and non-technical staff.
30
IT recruitment process that works
Awareness
Phil Haack says that best developers know when to code and when not to. He argues that in
some cases reinventing the wheel puts unnecessary strain on the project because you can use
existing libraries to save time. Sounds logical, but doing everything from scratch is still one of
the biggest time thieves.
Awareness also manifests itself through risk tolerance threshold. This is crucial because often you
need to refactor live systems, which is where things can go terribly wrong. Being able to realistically
assess the risk without the ego getting in the way is a hallmark of an exceptional programmer.
A positive attitude
A positive attitude is one of the key qualities of a great software developer. Programmers
solve problems day in and day out, but that doesn’t mean they should dwell on them. A “getting
sh*t done” attitude is much needed, partially because tasks and tickets tend to pile up. It’s
important to decide when it’s time to push a good enough solution out the door and move on
to the next thing on the list. The caveat here would be to not flood your developers with more
tasks than they can handle and keep things realistic.
In this Quora thread, Filiatrault actually puts “positive attitude” on the top of his list of essential
qualities possessed by good developers. He says you can test the waters and ask a few
seemingly simple “small talk” type questions to see if the responses given focus on the positives
or negatives. These questions include:
• “Do you consider yourself lucky? (cocky vs. humble)
• How was your commute to the interview? (complainer vs. no worries)”
Adaptability
In a changing environment such as programming, not being able to adapt or handle change is
a major no-no for a good programmer. A candidate who complains over changing requirements
will not be a good team player.
The IT world is changing rapidly and developers need to stay adaptable. For that reason, it’s
a safe bet to hire people who are always on the lookout for new tools and ways of doing things,
follow industry news and simply care about the craft.
31
IT recruitment process that works
Clear thinking skills
Programming is connected to logic, so a programmer’s strong, clear thinking skills are of key
importance. You can check this by performing a logic questions test or you can leave blanks in
what you’re saying to see if the candidate will figure out what you’re talking about.
Ability to plan
Good programmers have the ability to plan their actions after analysing a new assignment.
Asking candidates to explain their approach to a new task is a tried and true way of checking
this ability.
Respect for deadlines
Some programmers cringe at the very mention of the word “deadline”. Being on time should be
a priority for your programmers. Do they meet their deadlines?
Ask your candidate to describe a situation when they were faced with a deadline and how they
dealt with it.
Top reading speed and comprehension skills
Typing code is, in fact, just a fraction of a programmer’s work. They spend the vast majority of
their time reading, so slow readers won’t be very efficient. It can get worse if your programmer
misreads or doesn’t understand what a spec says. You don’t want to waste your company time,
do you?
Judging one’s own knowledge
Nobody knows everything, so the ability to accurately judge one’s own knowledge is an asset.
Are your candidates trying to hide their gaps in knowledge? They may try to do so in other
situations as well. Socratesian “I know that I know nothing” may not be sufficient, so you should
also look for a strong desire to figure things out.
The ability to handle failure
There are no programmers who haven’t failed at some point, so the ability to handle failure
will tell you a lot about your candidate. Ask them about their failure and how they eventually
32
IT recruitment process that works
solved the problem. Your candidates claim they don’t fail? You’ve either found a genius or
a person with a really huge ego.
Teamwork mentality
If candidates speak badly of their former managers and their previous work experiences, they
are likely to think too highly of themselves. They may ignore orders, do their own thing and
complain about the stupidity of orders (or about “this ignorant person who obviously doesn’t
understand programming”). Even if they disagree with somebody, good programmers are able
to understand the reasons for a particular decision.
It’s worth looking into instituting a “No Assholes Policy”: “There is no level of brilliance and
productivity that can compensate for poisoning the morale of your team, and once a team
culture is broken it is very hard to fix. Hiring these people, even to get you through a crunch, is
not worth what it costs. And if you hire one by mistake, fire them fast, and without hesitation.”
Just ask yourself a really easy question: would your team enjoy working with this person?
Do YOU want to work with them (it doesn’t mean being friends)?
Laziness
Yes, laziness. In the article entitled “15 Characteristics of a Good Programmer”, John Rampton
writes about three good qualities of good programmers enumerated by Larry Wall, i.e. laziness,
impatience and hubris.
A lazy person can come up with perfect time-saving solutions. But it can also have some
drawbacks, so it may be better not to rely on laziness as the dominant feature. Keep in mind
that hiring the wrong person is more expensive and wastes more time than waiting for the
right one.
How to verify these qualities during interview
Recruiters usually have only up to 1 hour to get to know your candidate during the interview.
That’s not much. Assessing soft skills, next to verifying programming skills, proves to be crucial
as these skills can influence delivering results to a great extent.
How to assess them the right way?
33
IT recruitment process that works
One of good ways to do it is to use behavioral interviews. They are often employed by
recruiters to evaluate candidate’s past experiences and behaviors in order to determine their
potential. Behavioral based questions are said to reveal in-depth information about the way
the candidate thinks and feels and what type of experience they have from previous jobs. It is
believed that past performance can be a good indicator of future behavior.
As Katharine Hansen states, “behavioral interviewing is said to be 55 percent predictive of
future on-the-job behavior, while traditional interviewing is only 10 percent predictive.”
How to get started with behavioral questions
As a recruiter, first you need to identify desired skills and behaviors and then structure openended questions and statements to elicit detailed responses accordingly. You should also prepare
a baseline profile of desired behaviors which are considered necessary to perform the job
successfully. This will let you evaluate the candidate against an ideal profile and see how they fit.
How to structure behavioral questions?
The way questions are formulated is crucial. If you ask a question in an ambiguous way, you will
not be able to draw valuable conclusions.
Behavioral based interview questions generally start with any one of the following phrases:
• Tell me about a time when you…
• Describe a situation when you…
• Give me an example of a time you...
• Think about an instance in which you…
• Tell me how you approached a situation where…
By asking such questions you should be able to obtain a description of a situation, task, action
and result. Remember to treat these questions as a starting point for a conversation. In the
words of Rachel Ferrigno, Content Marketing Manager at Stack Overflow, “You should never
assume something in an interview – we all know what assuming does.”
As Karl Sakas points out in Rachel Ferrigno’s post “4 Behavioral Question Mistakes to Avoid
When Interviewing Developers”: “Be sure to ask follow-up questions, too—otherwise, you’re
wasting an opportunity to dig into a candidate’s thought process.” So ask follow-up questions
as they will let you get to know more details and evaluate the consistency of answers.
34
IT recruitment process that works
Below you will find sample behavior questions to evaluate the most common attributes during
a non-technical interview.
Ability to adapt
1. Describe a situation in which you met a major obstacle in order to complete a project.
How did you deal with it? What steps did you take?
2. Tell me about a time you had to work on several projects at once. How did you handle this?
3. Describe a situation in which you have experienced significant project change that you
weren’t expecting. What was it? How did that impact you, and how did you adapt to this
change? How did you remain productive through the project?
4. Describe a situation in which you had to adjust to changes over which you had no control.
How did you do this?
Communication skills
1. I’d be interested in hearing about a miscommunication you had with your supervisor.
How did you solve it? What was the reason for that? How did you deal with that situation?
2. Tell me about an instance when you had to communicate a really bad piece of news to
your supervisor or team members. How did you handle it? What was the outcome?
3. Give an example of a time when you didn’t agree with another programmer. Did you
stand up for something that you believed was right?
4. Tell me about a time when you had to present a complex programming problem to
a non-technical person unfamiliar with IT jargon. How did you ensure that the person
understood you?
5. Describe a situation in which you felt you had not communicated well enough. What did
you do? How did you handle it?
6. Tell me about a situation that you had to speak up and be assertive in order to get a point
across that was important for you.
35
IT recruitment process that works
Problem solving skills
1. Tell me about a situation when you made a mistake at work. What happened exactly and
how did you deal with it? What steps did you take to improve the situation?
2. What is the biggest problem you have faced across projects so far and how did you
solve it? What made the problem difficult to resolve? What was the result? Would you do
anything differently now?
3. Give me an example of a time when you noticed a small problem before it turned
into a major one. Did you take the initiative to correct it? What kind of preventive measures
did you undertake?
4. Walk me through a difficult/complex problem/project you encountered. How did you
decide what to do first? What information did you need? What obstacles did you face?
Which ones were you able to overcome? Did you have to ask for help?
Teamwork
1. Tell me about a time when you worked with someone who was not completing his or
her share of the work. How did you handle the situation? Did you discuss your concerns
with your co-worker? With your manager? If so, how did your co-worker respond to your
concern? What was your manager’s response?
2. Describe a situation where you had to work in a team that didn’t get on very well.
What happened? What did you do and what role did you take? How did the situation evolve?
3. Describe a team experience you found disappointing. What would you have done to
prevent this?
4. Give me an example of working cooperatively as a team member to accomplish an
important goal. What was the objective? To what extent did you interact with other
project members?
5. Tell me about the most difficult situation you have had when leading a team.
What happened and how did you handle it? Were you successful? What was the most
important thing you did?
Additional resources:
45 behavioral questions to use during non-technical interview with developers
36
IT recruitment process that works
Biggest mistakes you’re making when screening in tech
Mistake #1
Not testing (or testing too late in the process)
A lot of problems come from the fact that recruiters don’t test early in the process and waste their
valuable time and resources on candidates who are not a match due to lack of skills and expertise.
We tend to believe the best of people, but it should be our goal to evaluate a person’s potential
to do well in this particular job based on their skills. It’s only fair these are tested impartially in
a way which verifies their knowledge accurately. It’s not rocket science that random questions
posed by people pretending to know the craft don’t serve that purpose. That’s why skill
screening software is not an option but a necessity. Testing coding skills allows you to check
knowledge of technical minutia quickly and without unnecessary effort so you can focus on
other attributes the candidate should have which cannot be tested that easily.
Testing early on also allows you to find A-players at the beginning of the hiring process before
someone else snatches them away. Most talented devs don’t sit around and wait for recruiters
to come back with an offer – they typically have projects queued up. The longer your process,
the less likely they are to be available when you’re ready for them. In fact, according to
MRINetwork, accepting another job offer is the #1 reason why job offers are rejected.
Source: MRINetwork
If you find a gem, don’t let other people take it away from you because of the time it takes
you to make a decision. However, don’t think you should make it a priority to hire fast – the
more you know about a candidate, the more likely you are to make an informed choice.
37
IT recruitment process that works
When making a final decision, don’t hinge on one report – give yourself the luxury of having
numerous sources of knowledge of your candidate as it reduces the risk of mis-hiring.
Mistake #2
Not hiring for culture
Deciding if someone fits your company culture can be tricky because there is no single test you
can use with great accuracy. There are a number of ways to verify cultural fit, i.e. via increasing
the number of points of touch and upping the number of encounters to hire through consensus.
In an interview with Meet the Boss, Liane Hornsey, former Google VP of Operations argues
that you need to hire through consensus – if you don’t, your company culture may become
diluted. Hornsey herself had 14 interviews across two continents, but since then Google’s
attempted to reduce the number of interviews. According to Shannon Shaper, Hiring
Innovation Manager at Google, the company established that four interviews was enough to
make a reliable hiring decision.
Look for people who are in alignment with what you’re trying to do – Mark Zuckerberg argues
that people who believe in what your company does are more likely to be driven to learn than
some career programmers.
Michael Hyatt explains seeing the candidate in a social situation such as a work lunch or dinner
with the candidate and their spouse is a valuable source of knowledge because you get to see
how the applicant treats their partner, the waiters and other restaurant staff.
Mistake #3
Ignoring the potential of the candidate
According to Harsh Patel, CEO of Hack Reactor, technical adaptability is the quality to be on
the lookout for.
“As is” is important when it comes to coding, but the ability to learn new things quickly is a safe
bet in the long run.
Another thing to look for is raw intelligence: Mark Zuckerberg argues that some of the best
people he hired “had very little programming experience coming in” but their raw intelligence
outweighed that of some career developers who had all the applicable skills. They were also
highly motivated to develop the right skills because they believed in the organization.
38
IT recruitment process that works
How to use a first impression effectively in screening
Let’s look at a study by Mattersight. According to data gathered in the course of the research,
a staggering 80% of employees “say they would take one job over another based purely on
personal connections formed during the interview.”
This is HUGE for recruitment professionals because HR is often where that first contact
happens. As a recruiter you must become an ambassador of your company if you want to
recruit and retain top tech workforce.
Remember that first impressions are a double-edged sword – you’re making inferences
during the interview, but so is the candidate. Make sure you come across as likeable and try to
establish rapport early on.
Affinity effect
If you still think that you’re 100% unbiased when interviewing developers in your recruitment
process, think again. Ever heard the old adage “birds of a feather flock together”? We tend to
choose people who remind us of… ourselves. Why is this important for HR professionals?
We often empathize more with people who we believe are similar to us in some respect.
This means that if you rely on interviews and resumes without checking the knowledge of
technical minutia, you might be subconsciously sabotaging your recruitment process.
On the one hand, that’s not actually a bad thing, because it allows you to hire for company
culture. On the other, there’s a risk you might hire people who you subconsciously feel are
similar to yourself, and not people who are best for the job.
39
40
IT recruitment process that works
Motivation 3.0
Once you start discussing details with the candidate, what should you talk about to make
them interested?
Think about what motivates people (and no, it’s not just money). According to career analyst
and author Dan Pink, it’s actually:
• Autonomy – the desire to direct our own life,
• Mastery – the need to keep getting better at what we do,
• Purpose – believing we can make a difference in the world with what we do.
Autonomy, mastery and purpose
are intrinsic motivators different
from the traditional “carrots and
sticks” extrinsic motivators.
Source: Practical Workplace Wisdom
According to Pink, it’s time to move away from relying solely on extrinsic rewards (also called
“the carrots-and-sticks”, or “motivation 2.0”) towards intrinsic satisfaction (referred to as
“motivation 3.0”). Pink believes that “there is a mismatch between what science knows and
what business does” and quotes extensive research suggesting that monetary rewards can
actually backfire in more complex tasks. He argues that monetary incentives tend to narrow
our focus, so they work only for simple tasks. For more complex ones you want to do the
opposite so shortening focus is bound to make the process more difficult than it actually is.
Pink also points out that monetary incentives tend to work well for short-term goals, but may
have a negative effect on long-term ones. It must be emphasized that fair pay is necessary,
but your organization should also do all it takes to foster intrinsic satisfaction. This means that
contrary to what many people believe, it’s not all about the money.
IT recruitment process that works
Of course, top tech talent needs adequate pay, but you need way more to make the devs stay
with your company. You need to pay people fairly and adequately AND you need to make sure
you appeal to intrinsic motivators. You should mention both intrinsic and extrinsic motivators
early on when discussing the vacancy.
Furthermore, research by Dale Carnegie Training suggests that you should also make sure that
the immediate superior of your hires is competent and caring. Research findings suggest that if
they’re not satisfied with their immediate management, there is an 80% chance that employees
will become disengaged.
Take a look at these numbers:
- “26% of Engaged Employees would leave their current job for just a 5% pay increase,
- 46% of Partially Engaged Employees would leave their current job for just a 5% pay increase,
- 69% of Disengaged Employees would leave their current job for just a 5% pay increase.”
You really need to make sure that the people you recruit stay around, as bad hires cost A LOT.
How to alleviate the effects of all the abovementioned psychological mechanisms
When looking for developers:
Probe their technical skills,
Stop asking people to invert binary trees on a whiteboard. Instead, start assessing
programmers in their natural environment. Emulate their first day at work and the tasks they
will be asked to complete if hired.
Don’t be a jerk,
Remember the Mattersight study saying that people are more likely to accept a job if they
like the person who interviewed them? Don’t forget that technical interviews “should be
a collaborative conversation and not combative interrogation” – be fair and give people
a chance to talk and showcase their knowledge during programming assessment.
Rely on the opinion of others,
Ask a colleague to join the interview so your brain won’t get in the way. Don’t let your personal
bias run wild: remember that you want diversity, not a clone army.
41
42
IT recruitment process that works
Test knowledge of libraries and frameworks,
According to Laurie Voss, “a good engineer will try to maximize productivity by using libraries to
solve all but the most novel problems.” Don’t just ask people to come up with a commonly known
solution – try to single out good engineers by testing the right skills. Remember that you need to
hire people who will succeed in that particular position, and not these who excel at interviews.
Use intrinsic and extrinsic motivators to make people stay.
Of course money can make or break a deal, but let the candidates know there’s way more than
that. Autonomy, mastery & purpose should be your organization’s new BFF.
Tools for screening technical talent
Results of Recruiting Software Impact Report
by Capterra presented by J.P. Medved indicate
that 75% of hiring and talent managers use either
applicant tracking or recruiting software to
improve their hiring process.
Source: Capterra
There are several assessment and screening tools which help you get through your IT
recruitment process smoothly as well as save your time and money. In the case of IT recruiting,
it is not only a matter of confirming information in a resume, verifying behavioral or decisionmaking traits, but also technical screening.
Is your organization ready for digital HR? Not every business is. According to Deloitte
University Press research, 38% of companies are thinking about digital HR, and only 9% of
them believe they are fully ready for it. 72% of organizations believe digital HR is an important
priority and 32% claim it is very important.
IT recruitment process that works
Source: Deloitte University Press
Starting from video interviews, technical skills and psychometric tests to background checking,
find out what you can do to get your new employees on board as fast as possible without
compromising Quality of Hire.
Video Interviews
Have you ever experienced a situation when you met someone and you instantly knew
this person is not who you are looking for? Talking face-to-face is the best way to find out if
the candidate meets your expectations. Fortunately thanks to the Internet, you don’t need
to spend time arranging and conducting the interviews offline. It’s both time and money
consuming to you and your candidates. There are plenty of tools for video interviews starting
with free solutions such as Skype, Facebook Messenger, FaceTime, Hangouts, etc. They are
great when you have just a couple of candidates.
Here’s a list of more advanced tools.
43
IT recruitment process that works
RecruitLoop
RecruitLoop offers automated video interviews for free. These interviews are one-way only.
You create a questionnaire and send it to your candidates who record their answers on the
RecruitLoop platform which is fully brandable. You have access to your notes and videos
anytime and you can share them with your team. You can rate and tag your candidates.
Answers are recorded so they can be used regardless of the time zone difference. Moreover,
candidates answer the same set of questions which helps you differentiate. You can prepare
several questionnaires when screening for multiple positions and your candidates only need
a webcam to complete the interview.
SparkHire
SparkHire is an automated and live video interviewing platform. For automated interviews it
works similarly to RecruitLoop – you create a questionnaire and your candidates record their
answers on the platform. Recording can be done by means of a webcam or via mobile app.
You can put the link to the interview in the email, on your website etc. Live interviews allow
you to conduct and record face-to-face interviews. You can comment, rate, tag your candidates
records and share them with your team as well as keep your candidates up-to-date with their
status. You can also send rejection emails straight from the platform and customize your site
on the platform by adding your brand color, logo, welcome video, photos.
Zoom
Zoom is not a typical interview tool and it primarily aims at video conferences, but you can
use it in your screening process. It’s useful in group interviews – when you want to interview
more people at once or there are more people involved in the recruitment process. You can
record your interviews which is very useful. Zoom also works on mobile, tablet and other
devices so it is a flexible tool for your candidates. There is also a possibility of sharing screens
so you can ask your candidates to carry out a task and watch them complete it.
44
IT recruitment process that works
Technical screening process / programming skills testing
In IT, recruitment skill testing is essential to prove your candidates really know what they claim
to know. Technical screening is important so you don’t waste time of your IT and HR teams on
weak candidates. You can do it either through online coding tests or technical interviews.
Devskiller
Devskiller is an online testing platform which helps companies verify programming skills of
developers. At Devskiller, we make assessing programmers skills look like their 1st day at work.
The design of the platform directly addresses the key problems of hiring IT talent which tech
recruiters are forced to tackle every day. Devskiller verifies the knowledge of programming
languages, frameworks and libraries as well as imitating a real programming environment
which are essential to finding the best developers. Thanks to customized online testing carried
out early in the process, you get a smaller, better-qualified and suited IT candidate pipeline
before the time-consuming process of interviewing even begins. The tool is user-friendly and
easy to use for HR professionals with no technical background which decreases high costs of
engaging tech teams. In short, our customers improve their recruitment process by reducing
the number of unnecessary interviews by 60-70% and decreasing Time to Hire by 30-50%.
Psychometric Testing
Psychometric tests help you discover what kind of people your candidates are. These tests
show their strengths and weaknesses, their motivation, how they behave, and how quickly
they get the right answers. Bear in mind that the results of psychometric testing shouldn’t be
the only decision-making tool as the methodology has some drawbacks, too.
There are two types of psychometric tests. The first one is aptitude and ability test, and the
second is personality questionnaire. The first group measures a person’s ability to perform or
carry out certain tasks. The second one measures a person’s manner of doing things, how they
interact with the environment and other people. Psychometric tests can consist of these kinds
of tests:
45
IT recruitment process that works
• Personality test lets you assess if your candidate matches the position they apply for with
their personality characteristics,
• Numerical reasoning tests tell you how the candidate deals with numbers and
numerical data,
• Abstract reasoning or lateral thinking – it checks the ability to learn and adapt to new
things, decision-making, problem-solving and shows you if your candidate can identify
rules and patterns in data,
• Verbal reasoning questions – these questions show you whether your candidates can
logically draw conclusions, identify important issues and if they can explain them clearly
to others.
AtmanCo
AtmanCo offers its own original psychometric scientifically validated assessment test. The test
was created to help recruiters and HR professionals and it measures 11 different dimensions
on a scale of 1 to 9. Valid results should be the same over time. In addition to the Atman test,
AtmanCo offers a behavioral-based pre-generated interview guide. It helps you identify the
best candidates and their weaknesses. Questions are created using the results of Atman
test. Using a test and a custom interview is more effective, reliable and bias-free and it leads
to quicker decisions.
Pymetrics
Pymetrics is a platform with fun and quick games which helps you find the person who fits
the desirable cognitive and emotional profile of your perfect employee. The games are based
on neuroscience research and by using big data they assess 50 key cognitive and emotional
traits. They are non-directional which means they measure if traits are beneficial in a particular
profession. The games are anti-biased so it helps you avoid making a biased decision.
If you don’t know what profile your perfect employee should have, you can use prebuilt
industry profiles for support.
46
IT recruitment process that works
RightPeople
RightPeople offers a variable set of psychometric tests for any industry. They collect more data
to create a more accurate picture of the candidate. All tests are legal and culturally relevant.
According to your requirements, the company can design a customized test for you or you can
use their standard one. The results are analysed and available on the platform or sent to you
via email. Tests cover areas such as: cognitive ability / intelligence, personality assessment,
safety, integrity and reliability, time management, shift work, customer service, work values.
Reference / Background checking
Background checking helps you find people who are great not only on paper, not only during
interviews but also in real life. It also helps you ensure you are protecting your company data.
References are by far the best reality check tool out there. Make sure you double check since
sadly references tend to be fake. Be sure you are talking to real previous employers and if you
have a chance, try to check at least two references.
Checkr
Checkr provides a fast and mobile-friendly background check of your candidates. It provides
you with an identity check (identity verification, address history), criminal record check,
driver check, drug check, and credit check. One of the most useful checks are national and
international verifications of employment (over the past three employers or the last seven
years with additional information on employment), education (confirmation of degree received,
course of study, and dates of attendance) plus licenses and certification checks.
HireRight
HireRight runs a comprehensive customized background check in more than 240 countries and
territories, supporting applicants in 20 languages. It provides you with flexible tools to make
the check fast and smooth regardless of company size which means even small businesses can
verify multinational backgrounds of their candidates. Among the checks are:
47
IT recruitment process that works
criminal background checks, identity checks, drug & health screening, candidate experience,
education checks, global screening, and driving records check. HireRight boasts a 95%
satisfaction rate as it takes the anxiety out of a background check.
VidReferencing
Automated reference checking from VidCruiter works similarly to automated video interviews.
You create a customized questionnaire you want to be filled as reference and ask your
applicants to contact their references on your behalf. They don’t know what is being reported.
The format of the reference may be video, audio or written. You track all files and you can
rate the references. You also have tangible proof you did your job best as a recruiter. Another
benefit is that VidCruiter also provides live and automated video interviews.
Social Media Screening process
Tech workers spend a lot of their time online so their online presence tells you
a lot. Although basing your screening decision on social media profiles is perceived
controversial, to some extent they can be treated as extended resumes as you can find
some more information on your candidates and get to know them better. Do they fit
your company culture? What do they like? What is their personality? Do they do anything
controversial? Do they have any other skills? Checking social media accounts helps answer
these questions and even prevent some future problems (such as controversial tweets
which lead to a huge brand crisis or embarrassment). Don’t forget that account privacy
settings may not let you see all the information and your perception can be biased.
Moreover, there are many fraud accounts (i.e. hacked ones) and the information you see
may not be reliable. Use social media checking responsibly and with the respect of privacy
of your candidates.
As you can see, there are various tools which can assist you in your IT screening process.
Smart usage of these tools saves your time and streamlines your decision-making. Tech talent
tend to appreciate you more when you value their precious time. That’s why finding the best
candidates as fast as possible is a win-win situation in tech recruitment. Using technology
(video interviews, online technical tests, psychometric testing etc.) always makes you look
more tech-savvy and helps you create a better candidate experience.
48
IT recruitment process that works
Self-Assessment
1.
How do you verify the coding skills of your IT candidates?
Do you check the knowledge of languages and libraries?
2.
Do you use whiteboard testing? What are the advantages and
disadvantages of this method?
3.
What tools do you use to run background checks? Do you rely on one
tool or multiple tools?
4.
How many references do you usually check before you hire?
5.
Have you ever changed your decision based on negative references?
6.
Do you check the social media profiles of your candidates? What type of
content prompts you to remove them from the pipeline?
7.
Do you use psychometric tests? If so, how and when in the process?
8.
How do you alleviate personal bias?
9.
Does your company use motivation 2.0 or motivation 3.0?
Do you appeal to intrinsic motivators in your job descriptions?
49
IT recruitment process that works
Chapter 4:
Offer/Hire
50
IT recruitment process that works
You’ve spent hours looking for the right people, gone through their social media
profiles, their repositories and online activity. You’ve exchanged emails or talk
and then you finally get to meet them, either in person or via video interviewing
tools. You’ve talked to them, you’ve verified their skills and… boom! You’ve found
THE ONE.
How to optimize
Be quick,
According to MRINetwork, it takes on average three interviews and three to six weeks to get
an offer. In comparison, it was one to four weeks in the second half of 2015.
Source: MRINetwork
If you look at these numbers, you shouldn’t be surprised that “47% of declined offers in the
second half of 2015 were due to candidates accepting other jobs” (MRI Network study quoted
by Glassdoor). Top developers not only have jobs, they usually have opportunities and projects
lined up. If your recruitment process drags for weeks, they are likely to choose other projects.
Remember that the best devs out there are taken rapidly and you need to act fast.
51
IT recruitment process that works
Offer attractive pay,
According to Glassdoor research, “78% of software engineers say the top reason they
would leave their job is salary and compensation.” If the offer is turned down due to salary,
consider making a counter offer, negotiate bonuses or agree to a salary review after
6 months of employment.
Don’t forget about perks,
According to Jobvite, ”both classic and new-fashioned benefits help get candidates in the door.
78% of recruiters surveyed say medical/dental coverage is most effective at attracting new
candidates, and 65% report that 401(K) helps. But 44% also report flexible work hours and
casual dress code appeal to employees.”
Source: Jobvite
Be open to negotiation,
Candidates are now feeling more confident than ever. According to Jobvite, salary is negotiated
more than ever by recruiters – 68% of businesses “have increased the average salary offer for
candidates in the last year”.
Weigh your words.
Verbal terms can be legally binding so make sure there is no discrepancy between verbal
and written offers. Any misunderstanding regarding terms of employment is likely to cause
disappointment on the side of the dev, which is the last thing you want at this point. Finally,
make sure offer terms do not discriminate, either directly or indirectly.
52
IT recruitment process that works
The biggest mistakes you’re making when offering a job and hiring
Undercover Recruiter lists most commonly made mistakes that lead to candidates turning
down an offer:
• “Salary is less than what they wanted,
• Candidate’s personal situation changes including being offered a job they are more
interested in,
• Business takes too long to either offer the position or get a contract out to the candidate.”
Here’s a list of most common mistakes while making an offer.
Mistake #1
No candidate debrief
According to James Andrew, post-interview candidate meetings allow you to “calibrate search
and come to a consensus”. Multiple points of touch and multiple encounters are much needed
when recruiting to get a 360 view of the candidate. For that reason, it’s important that your
talent acquisition team sits down and talks about candidates post-interview. Candidate
debriefs foster hiring through consensus and reduce the impact of personal bias. They are
also a sign of respect to the candidate who spent their time coming in and talking to you.
Mistake #2
No follow-up for unsuccessful candidates
Your hiring managers are your storefront because they represent the entire organization.
Treat all your candidates with respect, including unsuccessful ones. Update people on the
status of their application and let them know once the decision has been made. If people send
you “thank you” emails after their interview, always reply and politely thank them back.
“If an organization is together enough to proactively update you on your status and turn
you down directly but kindly, keep them on your radar” says workplace expert, author
and speaker Alexandra Levit in a Mashable post by Jennifer Parris. “This is a culture that’s
probably pretty desirable.” Levit’s suggestion goes hand in hand with findings of research by
CAREEREALISM which points out that over 40% of candidates who got no follow-up from
a company will not apply again to work for it in the future.
53
IT recruitment process that works
J.T. O’Donnell argues that companies who don’t email unsuccessful candidates hurt their
NPS (Net Promoter Score), which is calculated based on the company’s likelihood of getting
a recommendation from its customers.
Candidate experience has a direct impact on brand reputation and the eagerness to
recommend a company to peers so you can’t afford to underestimate its power.
Self-Assessment
1.
Do you send follow-up emails to all candidates involved in the process,
including unsuccessful ones? If you use resume walls, do you reach out
to candidates who submit their CVs this way?
2.
How do you contact successful candidates and let them know they
were selected?
3.
How long does it take you to give them a final offer?
4.
How often do your offers get rejected? Do you investigate why
it happens? If so, are you taking steps to address these issues?
5.
Are you willing to negotiate salary and bonuses? Do you ever negotiate
them beyond what was originally assigned to the job opening?
6.
Do you offer benefits?
7.
How can you make your offer more appealing than that of your
competitors? Do you know the salaries and benefits they’re offering?
54
IT recruitment process that works
Chapter 5:
Quality of Hire
55
IT recruitment process that works
In the paper “Measuring Quality of Hire – The Ultimate Recruiting Metric“,
Dr. John Sullivan & Master Burnett discuss Quality of Hire (QoH). In their opinion,
it’s debatable whether QoH measures the effectiveness of the recruitment
process or the quality of a particular hire. This may be a result of the fact that
various fractions of a given organization may perceive QoH based on their role
and experience, which they call a perspective dilemma.
According to Sullivan and Burnett, “recruiting professionals typically define Quality of Hire as
a grouping of metrics that measure the degree to which candidates recruited and hired satisfy
the requirements as defined. The defining characteristic here is that the evaluation is done
post hire, therefore reporting on historical performance. Line managers on the other hand see
Quality of Hire as a series of indicator metrics that reasonably predict how well a candidate will
perform on the job if hired.”
This means QoH needs to predict how well a person will do in the future, as well as grade
performance post-hire. This dual nature of QoH makes it so controversial and problematic.
If you’re interested in QoH, you must watch this Talent Connect 2014 speech by CEO of The
Adler Group Lou Adler.
Adler argues that you need to measure, maximize, and quantify Quality of Hire. He divides
performance of people hired into three groups – top candidates (upper-third), middle (midthird), and least performing ones (lower-third).
Source: YouTube
56
IT recruitment process that works
Adler states that the problem of modern companies stems from the fact that they assume
there’s a surplus of talent, while there’s actually a scarcity of talent. He also argues that of the
top third, 75%–80% are passive candidates.
Increasing Quality of Hire is synonymous with increasing the percentage of hired people
from the upper third. Adler argues that in order to do so, you must go out of the usual
“skills, experience and academics” job descriptions.
To illustrate his point, Adler calculates the ROI of getting people who are 15% better.
His calculations are based on hiring 100 employees with an annual salary of $100K. If you hire
100 people from the middle-third, they will generate $24mm per year. However, hiring 100
people from the top third will bring you 15% more profit – $3.6mm more, or $14mm extra
variable profit over 4 years.
Source: YouTube
Adler argues that the ROI of hiring top-third ranges from 200% to 700%, so there’s a lot at
stake here.
57
58
IT recruitment process that works
How to optimize for Quality of Hire
Attract in vs. filter strategy,
Depending whether candidates are active or passive, you need to adjust your strategy.
Passive candidates need to be attracted in, and this is exactly how most upper-third
candidates are hired.
Shift your sourcing mix,
According to Adler, if you’re in a scarcity situation, you must shift your sourcing mix towards
more passive candidates.
Needs analysis vs. job description,
Adler argues that the first person who talks to the candidate on the phone is key to great hires.
They need to conduct a needs analysis rather than flood the person they are talking to with
details of the job.
Find engaged managers,
Employ managers who can attract and retain top third people. Remember that even the most
motivated person in the world won’t perform very well if they are badly managed or don’t like
their manager.
Focus on what the person can become,
In the surplus situation, the hiring process typically looks like this:
Surplus: Weed out the weak
Active
Best who apply
However, as we’ve established 75% to 80% of the top third are passive candidates. Moreover,
the quest for the best in tech is on and there’s definitely scarcity in the world of developers.
Your hiring process should therefore look like this:
Scarcity: Attract the best
Passive
Raise the talent bar
According to Adler, the focus of hiring managers should be on the doing and not the having.
IT recruitment process that works
Of course you need to make sure the person has the right skills, but this can easily be done with
skill testing software. You need to train your hiring managers to communicate what the person
can become while doing the job, which usually strikes a chord with upper-third candidates.
Their accomplishments are what makes them unique and they are most likely to be interested
in what they can do in the position and not what they already know.
Start listening,
When you talk to candidates, ask them if they would be open to explore a position clearly
more superior to their current ones (as Adler argues, 93% of people say “yes” to this question).
Once they say yes, don’t dive into what skills they need to have or required academic
background. Talk about what the job is, what they get to do at work and what they can become.
This changes the conversation and gets your upper-third interested. Like marketing, hiring
needs a sound value proposition it can rely on.
Measure before you hire,
Sullivan and Burnett argue you should measure the quality of applicants pre-hire based on
a number of indicators (i.e. whether your top performers know them, if they have at least
one counter-offer, if they are currently employed, if they have been referred by another
top performer).
A full list of issues worth-considering pre-hire can be found in Sullivan and Burnett’s paper.
Test skills,
According to Sullivan and Burnett, skill screening allows to make sure candidates have the right
skillset. If you combine that knowledge with Adler’s point of view, your aim should be to focus
on what the job is and use skill tests to determine whether the candidate can achieve what is
expected of them and not the other way round.
Know where your best hires are coming from.
Look at your hires and single out top performers. Go back and look for a candidate source
which seems to convert best for your company. If possible, experiment with paid promotion
of your job postings in that channel or consider spending more time looking for people in this
particular place.
59
IT recruitment process that works
Self-Assessment
1.
Do you track Quality of Hire in your company? If so, do you use it to
predict how well a person will do in the future, grade performance
post-hire or both?
2.
Which of the hiring patterns do you follow in your organization?
a) Attract the best Passive Raise the talent bar
b) Weed out the weak Active Best who apply
3.
Do you typically hire people from the lower, middle or upper third?
Why? What factors compromise your Quality of Hire most?
4.
Who is the first person candidates talk to on the phone? Does this
person conduct a needs analysis or simply present the details of
the job?
5.
What is the best source of quality hires? Were all your current top
performers recruited as passive candidates?
6.
Do you collect feedback from developers regarding their supervisors?
If you do, what sort of procedures do you follow to intervene
when necessary?
60
IT recruitment process that works
Chapter 6:
Time to Hire
61
IT recruitment process that works
It’s often repeated that tech talent is hard to find and that it is taking increasingly
long to fill a position, but how long exactly?
Here are the stats you should know:
• According to a 2015 Dice report December 2015: Special Report, Hiring Survey, 49% of
hiring managers say it now takes longer to fill open positions in comparison to last year,
• Research from Bersin by Deloitte Talent Acquisition Factbook 2015 reports that it takes
“an average of 52 days to fill an open position, up from 48 days in 2011.”
According to a study by Dr. Andrew Chamblerlain, Chief Economist at Glassdoor “Why is hiring
taking longer? New Insights from Glassdoor Data” filling tech positions is taking longer than
before, especially in the U.S., Europe and Australia. Here’s Chamberlain’s list of tech jobs with
the longest and shortest interview duration, with Senior Engineer and Senior Applications
Developer topping the list:
Source: Glassdoor
Given that hiring top programmers must be both efficient and fast, here’s what you can do to
speed things up.
62
IT recruitment process that works
How to optimize for Time to Hire
Start tracking,
You can’t optimize the process if you don’t keep an eye on your metrics. You need to know
what your Time to Hire is before you try to change it to know if you’re actually changing it for
better or worse.
Hurry up,
Top candidates will be long gone after the average five to six weeks it takes to recruit in tech –
according to Recruiter Sentiment study by MRINetwork, “47% of declined offers in 2015 were
due to candidates accepting other jobs, up 10% from first half of the year”. If you find someone
promising, don’t make them wait, especially in the scarcity situation we’re currently observing
in tech.
Look for bottlenecks in the process,
You’re probably thinking you shouldn’t spend so much time analyzing resumes. Well, think
again – according to an eyetracking study by the Ladders “Keeping an eye on recruiter
behavior”, on average recruiters spend 6 seconds looking at a resume. Interestingly,
self-reports from recruiters suggest that they “spend 4-5 minutes per resume.” Analyze your
hiring process and see where you spend most time (platforms, activities, emails, phone calls,
screening and so on).
Split test your job descriptions,
A good job description should encourage matching candidates to apply and simultaneously
discourage others from doing so. Try various distribution channels and test copy variants for
optimal results.
Screen candidates early on,
Avoid interviewing people who don’t meet the requirements of the position to speed things
up. One of the biggest gripes for recruiters is spending time on the wrong candidate. Smart
recruiting needs tools to steer away from this tendency, and code challenges are a surefire way
to eliminate candidates who won’t be able to perform in this particular job.
63
IT recruitment process that works
Don’t use your senior developers to verify programming skills of your candidates.
Just don’t. Not only are you using their VERY expensive time on tasks which can be carried out
by means of dedicated screening software, you’re also slowing down daily operations they’re
usually engaged in.
Self-Assessment
1.
Do you track Time to Hire? If you do, what is your Time to Hire for
the last three developers who joined your company?
2.
What is the biggest obstacle when it comes to acting fast? Is it getting
in touch with candidates, multiple interviews, extensive screening
processes or procedures you need to follow?
3.
What can you do to speed things up? Should you talk to your supervisor
about the current state of affairs and see anything can be changed inside
your company?
4.
How can you make sure you don’t procrastinate when doing
social media checks?
5.
Have you ever tried A/B testing your job ads? Which elements of your
ads do you think need improvement most?
64
IT recruitment process that works
Chapter 7:
Cost per Hire
65
IT recruitment process that works
In “Tech boom! The war for top developer talent”, Dan Tynan argues that “in
a world that increasingly runs on code, developers are king – and companies will
pay a king’s ransom to lure top talent.”
Here are two key stats regarding the “ransom”:
• According to Bersin by Deloitte research “Talent Acquisition Factbook 2015”,
it costs on average $4,000 for U.S. companies to to fill an open position,
• CIPD reports these cost increase to “£6,125 when the associated labour turnover costs
are included. (…) If if things fail to work out first time around you can expect to double
these for the cost of rehiring once again.”
These amounts show what it takes on average to hire for any position. The question is, what
does it actually take to lure top tech talent?
To calculate CPH, you need to add external and internal costs and divide the amount
you get by the number of hires completed. Confused about the costs incurred in the
recruitment process?
In “Human Resource Management – Text and Cases”, Dr. S. S. Khanka lists the most commonly
occurring ones:
1. “Salary of recruiters,
2. Cost of time spent for preparing job analysis, advertisement,
3. Administrative expenses,
4. Cost of outsourcing or overtime while vacancies remain unfilled,
5. Cost incurred in recruiting unsuitable candidates”.
Considering that 47% of small businesses have trouble finding qualified applicants for open
positions, a lot of money goes into expanding tech talent pool (based on data of the National
Federation of Independent Businesses).
66
67
IT recruitment process that works
You should also know how much it costs you
NOT to hire. Here’s how much money goes into
keeping positions open in the U.S.:
Source: Beamery Blog
The cost of mis-hiring is also high. In a Business Insider interview Tony Hsieh, CEO of Zappos
estimates that bad hires cost him more than $100 million in the last 11 years. Hsieh mentions
the domino effect of bad hires hiring more bad hires whose bad decisions cost the company
so much money. “If you add up the cost of our bad hires and the bad decisions they made and
then they in turn also hired more bad hires, the whole domino effect over the past 11 years it
probably cost the company well over $100 million” – says Hsieh in the interview.
How to optimize for Cost per Hire
Audit your current process,
Know how much you’re spending on internal and external costs to see if the methods you’re
using to cut down CPH are actually working.
Internal costs include:
In-house recruiting staff
Management
Training
Temporary staffing costs
Office work
External costs comprise:
Relocation fees
Immigration expenses
Technology fees
Travel expenses
Third-party fees
Consulting services
Advertising costs
68
IT recruitment process that works
Look at your budgets allocated to each of these categories and see if you can find room
for improvement.
Leverage recruitment tech,
There are a number of ways you can use technology to make your recruitment process more
cost-effective. The most significant ones include video interviews and code challenges.
Developers are busy people, so the easier it is to communicate with you, the more likely they
are to see your company as attractive. Offer video interviews to get a feeling of who they are
during pre-screening. Make sure to test programming skills early on to avoid spending too
much time on a candidate who doesn’t meet your predefined requirements. Remember that
these should be documented so you can stay away from personal bias as much as possible.
Build a strong career site,
There are a number of factors at play here: first of all, you need to make sure your brand
message is delivered on your careers site. Secondly, you should consider HOW it’s delivered.
Use engaging visuals such as videos and images and make sure your application process is
candidate- and mobile-friendly.
Reduce turnover,
Low retention rates cost businesses time, money, and productivity. Make your company a good
place to be to retain your staff. To do so, find out what makes people leave (i.e. by means of exitinterviews). Is it pay, poor management, or lack of flexibility? Look for issues which are brought
up repetitively and attend to them on the spot.
Build a strong talent brand,
LinkedIn research shows that their “customers
with a strong talent brand spend, on average,
43% less to make a hire on LinkedIn than our
customers with a weaker brand”.
Source: LinkedIn
IT recruitment process that works
Self-Assessment
1.
Do you track Cost per Hire in your organization?
2.
What is the Cost per Hire for your three most recent hires?
3.
Are you typically more focused on Time to Hire or Cost per Hire?
Does focusing on one of these metrics pose any threats to your
hiring process?
4.
Do you have a strong talent brand across platforms you use to find
developers? What can you do to strengthen your position there?
69
IT recruitment process that works
Chapter 8:
The cost of recruiting
a developer
70
IT recruitment process that works
The agency fee is just a starter. In the IT world where there is a talent shortage,
hiring a new programmer (or any tech talent) increases in cost and effort as time
goes on. The better the programmer is, the more expensive it gets.
Time is money – it’s not only about the recruitment cost itself
It sounds cliché but it’s true. The longer your position is unfilled, the more money your
company loses. It’s gotten trickier as the result of a shortage of qualified programmers.
An unfilled position can cost you upwards of $500 a day.
Programmers know their value and
they will not wait for you.
ACT FAST TO GET TOP TECH TALENT!
What’s more, slow hiring leads to slow decision making – a combination that can damage
your employer brand. Hiring can be both stressful and exciting for each party involved in the
process. The stress of waiting for recruitment results makes people feel negative about the
recruitment process and the company itself. Moreover, the slowness has an impact on your
current employees (since they are doing extra work to cover for the vacancy) and consumers
(vacancy often causes errors and delays). That in turn means a significant loss of revenue
and productivity.
Cost per Hire: what it’s really about
The amount of money spent on recruiting a new programmer varies depending on the skills,
position type, level, market demand, geographic region and so on. The cost of recruiting
a freelancer who works from home is different than the cost of recruiting a full-time
programmer in Silicon Valley. It’s not easy, but let’s estimate the cost using the Cost per Hire
(CPH) indicator:
71
IT recruitment process that works
CPH = (external costs + internal costs) / number of hires
Source: Devskiller
External costs are recruitment expenses incurred outside your physical location. These may
include advertising costs (expanding your employer brand, job posting), consulting services
(legal, technical), immigration expenses (especially important when you recruit abroad,
which is a very popular practice in IT recruitment), relocation fees, travel expenses (for both
the candidate and the recruiter), technology fees, third-party fees (recruitment agencies,
headhunters), etc.
Internal costs include; in-house recruiting staff, management, office work, training, temporary
staffing costs, etc.
Recruitment entails both external and internal costs. If you hire a headhunter or a recruiting
agency it charges you 15-30% of the new employee’s annual pay (external cost). If the
recruitment is conducted by your employee, the time this person dedicates to the recruitment
is your internal cost (hourly wage x hours). The most popular solution is a hybrid one.
72
IT recruitment process that works
Basic costs of each stage of recruitment process
Here are some detailed external/internal costs you need to cover:
Source: Devskiller
73
74
IT recruitment process that works
Estimation
Let’s estimate how much it may cost to hire a senior software developer with a salary of
$94,083 (which is median salary value estimated by PayScale) and Time to Hire of around
43 days (according to Wanted Analytics).
The average agency fee (22% of the new hire’s salary) is $20,698, in-house recruitment (12%)
costs you $11,290 and a hybrid solution (17%) is $15,994. These figures are the sums of
external and internal costs which are partly described above.
Moreover, as a company you’ll likely suffer productivity loss in this case totalling $33,251 or
you will get contractor cover which costs you $22,167.
You also have to take into
account management time spent
on the recruitment process,
reviewing CVs, interviewing and
repeating the process if the job
offer gets rejected. Time devoted
by a manager with a $62,000
salary (according to PayScale)
for 10 days costs you $2,818 of
their time and $8,454 in terms of
productivity loss.
The total for this scenario
is $22,562 for in-house
recruitment and $31,970 if you
recruit with an agency – and if
you add productivity loss or cost
of contractor cover the number
can exceed even $60,000!
Source: Devskiller
IT recruitment process that works
As you can see, the cost of your new programmer greatly depends on you and your course
of action. Just remember to list all positions mentioned above that go beyond individual
recruitment costs. There are some unavoidable costs, but if you create a great employer brand
and workplace (to avoid turnover), constantly work on your talent pool and prepare well for
your next recruitment you can cut the numbers and hire better candidates.
Additional resources:
True cost of recruiting a developer [infographic]
Self-Assessment
1.
List all the actions you and your co-workers take during your
recruitment process:
• Sourcing,
• Review application,
• Prescreen,
• Interview,
• Hire.
2.
Write down how much time each action takes if you’re doing it
in-house and list all external costs associated to having it done
outside of the company.
3.
Can you see any areas where you’re spending a lot of money without
satisfactory ROI? How can you remedy the situation?
75
IT recruitment process that works
Chapter 9:
Hiring more women
in tech
76
IT recruitment process that works
It’s common knowledge that the world of software engineering is a predominantly
male environment. Diversity reports from tech leaders like Google, Slack, Pinterest
and Uber show that women in tech are greatly outnumbered. Slack tops the list
with 29.8% of women in technical roles, which is significantly greater than the
results of its peers:
Source: USA TODAY
Gender diversity is a significant positive predictor of productivity and hiring more female
workers is one of the main ways to diversify tech workforce. As Jessica Guynn of USA TODAY
points out, Slack wanted to avoid “growing the way technology companies typically do by
hiring a lot of white and Asian men. One of the executives penned a manifesto that pledged
Slack would hire as many people from diverse experiences and backgrounds as it could.”
This proves even companies who focus on diversity early on and make a conscious effort to
diversify struggle to do so. The way Slack reached the top of the “women in tech” list is by
a conscious, pre-planned effort.
And that’s exactly the way you need to go about it.
77
IT recruitment process that works
Women in tech: benefits
MONEY: A 2015 McKinsey “Why diversity matters” report analyzing 366 public companies
found that “those in the top quartile for gender diversity were 15% more likely to have returns
above the industry mean”.
Source: McKinsey
PRODUCTIVITY: A Massachusetts Institute of Technology and George Washington
University study reveals that employees tend to be happier when they work with people of
the same gender, but are generally more productive when they work in a nonhomogenous
environment.
CREATIVITY: Nonhomogenous teams stimulate the brain because they tend to challenge
stale ways of thinking. Due to what psychologists call fluency heuristic, humans tend to favour
information that can be processed easily or is already known, which they believe to be true or
more beautiful. That’s why certain songs or slogans grow on you after you hear them a couple
of times. However, when you step out of what you already know, you’re most likely to achieve
growth.
78
IT recruitment process that works
EVEN MORE MONEY: According to 2014 Credit Suisse analysis “large-cap companies with
at least one woman on the board have outperformed their peer group with no women on the
board by 26% over the last six years”.
Of course, correlation doesn’t equal causation, so you can’t just hire any woman who applies
and expect to achieve growth – you still need to monitor QoH (Quality of Hire). While
“greater gender and ethnic diversity in corporate leadership doesn’t automatically translate
into more profit, the correlation does indicate that when companies commit themselves to
diverse leadership, they are more successful.” One of the reasons is that female tech workers
are probably more drawn to diverse teams where they get work with both male and female
colleagues.
Do developers want gender diversity?
In 2016 Developer Landscape survey by Stack Overflow, 73% of developers said gender
diversity was “at least somewhat important in the workplace” and 41% of them said it was very
important. Software engineers who influence hiring decisions were most likely to believe in the
importance of diversity in comparison to other developers.
Source: Stack Overflow
79
80
IT recruitment process that works
Female developers in numbers
• According to PayScale, in the
Tech Industry males dominate
at all levels,
If you look at their data you can
see that the number of female
workers occupying all positions listed
below is much lower than outside
of the industry.
Tech still has loads of room for
improvement and hard as we try,
it’s still a boys’ club.
Source: PayScale
• Results of the 2016 Developer Landscape survey by Stack Overflow show just
how male the software development world is, with a staggering 92.8% of survey
participants identifying as men,
Source: Stack Overflow
However, this statistic underrepresents women in the industry and Stack Overflow staff
say their internal data suggests the imbalance isn’t as severe. However, in majority of
“programming teams, men outnumber women often by significant margin.”
IT recruitment process that works
• Industry leader Slack has most women in technical positions (29.8%).
Women constitute 43.5% of their overall workforce worldwide,
Source: Slack
• David Smith ran an analysis based on the original study based on Face API by
Jeff Allen from Trestle Tech and found that most GitHub contributions from
female members were found in the “R” category, with almost 10% of contributors
to R projects being female,
Source: Revolutions
81
IT recruitment process that works
• According to the authors of “Gender Differences and Bias in Open Source: Pull
Request Acceptance of Women Versus Men”, gender bias pervades open source.
The study looked at acceptance rates of contributions from male and female members in an
open source software community and yielded interesting results:
1. “women’s contributions tend to be accepted more often than men’s,
2. women’s acceptance rates are higher only when they are not identifiable as women.”
The results suggest that despite being more competent overall, women on GitHub are subject
to a strong bias.
As a tech recruiter, your job is to fill positions quickly and efficiently. Sadly, issues like diversity
are often deemed less important than metrics such as Time to Hire.
In order to hire diversely, you need to look at your team as a whole. Jeanette Stock of Pressly
and Venture Out has an excellent point: “hiring the best person and hiring the best team which
studies show is a diverse team are not necessary always opposite. You’re not hiring in isolation.
Building a team is like taking raw blocks and trying to put them together in a way that makes
the strongest structure, and if you have all the blocks that are leaning one way that you just
stack on top of each other, eventually that tower is going to fall over.”
If the team you’re hiring for is predominantly male but you want to bring change to your
structure, here are the steps you need to take to attract women in tech.
82
IT recruitment process that works
How to optimize for diversity
Run mandatory unconscious bias training,
It’s taken by all new hires during orientation at Google and the company is right to do so.
It’s time you followed suit.
Review your job postings for unconscious gender bias,
There are some pretty ugly examples of gender bias out there, like this one Ella Gorev of
Nulogy came across:
…and this one when developer Leigha Mitchell criticized a sexist recruiter post:
83
84
IT recruitment process that works
Work on your Careers page,
It’s one of the first places people go to work out what kind of an employee you are. As Leigha
Mitchell says, “if it’s plastered with pictures of white guys in flannel with beards, that’s a red
flag.” Mitchell says if that’s the case the page should include a statement explaining that you
want to diversify and why you want to do it. She adds that another frequently used trick she’s
seen is including an outline of a female silhouette with a caption “this could be you!”.
Mitchell also recommends involving women in the interview process, especially when talking
to female candidates. This makes them more at ease when it comes to asking certain questions
which can only be answered by another woman in tech. She suggests that if there are no
women on the team you’re recruiting for, it’s a good idea to “bring someone from another team
for a culture interview.”
Bridge the gender pay gap,
According to PayScale, gender pay gap
in tech is lower than that of non-tech
industry. However, there’s still a lot of
work to be done. As you can see, the gap
gets bigger as people move into more
senior roles.
Source: PayScale
Here’s the data when you consider pay of
similar men and women in similar jobs:
Source: PayScale
IT recruitment process that works
Gender pay gap gets bigger as people move into more senior roles in this group, too.
For example, the gap for similar men and women in similar jobs in tech industry reaches
from -1% for Individual Contributors to -6% for Executives. Male Median Pay for Individual
Contributors is $70,900 and Female Median Pay for the same job equals $70,000.
For executive jobs in tech, Male Median Pay and Female Median Pay equal $174,600 and
$164,800 correspondingly.
Consider salary transparency,
As Molly Koernke says, “salary transparency evens the playing field for women”.
Don’t penalize women for negotiating pay,
A Harvard University study “Social incentives for gender differences in the propensity to
initiate negotiations: Sometimes it does hurt to ask” shows that women get penalized more
than men when initiating salary negotiations, even by female evaluators “assessing willingness
to work with a candidate from written transcripts”. Keep that in mind next time someone tries
to negotiate pay and devise a comfortable environment for discussing salaries and policies.
Give a small (and friendly) nudge,
At Google, engineers typically nominate themselves for promotion, but the company found
women wouldn’t do that as often as their male colleagues (even when they clearly should have).
In her Washington Post article, Technical Reporter Cecilia Kang explains how Laszlo Bock
(former SVP of People Operations at Google) and Alan Eustace (former SVP of Knowledge at
Google) used hard data to remedy the situation.
As one of the heads of engineering at that point, Eustace sent an email to his staff describing
these two studies:
• When answering math problems, girls tend to raise their hands less frequently than boys,
even though they are more accurate in their answers when they finally decide to speak,
• Women are more reluctant than men to offer their ideas in business meetings even
though they are often better than many offered by their male colleagues (as evaluated
by observers).
Eustace followed them with a statement that it was time for to apply for promotions, and as
you can expect, the application rate of female engineers soared.
85
86
IT recruitment process that works
He sent the email a number of times and it always had the exact same effect. When he did
forget to send it out, the number of female applicants dropped sharply.
Encourage women to take action, but do it tactfully. Present data to make them feel more
comfortable, but don’t go overboard.
Don’t force female coders behave like men to be successful,
Liking floral prints or neons has nothing to do with the ability to write good code. As Molly
Koernke says, “women should be able to be themselves at the office without it hurting their
career – bright clothing and all.”
Make them stay,
“Increasing diversity at the entry level is not enough because these ‘diverse’ people are not
likely to stick around.” Paolo Gaudiano and Ellen Hunt point out that when new hires realize
that their managers and executives are nothing like them, they are likely to jump ship.
They also state that new diverse hires are prone to prejudice because the working environment
they’ve joined is stale. Finally, they suggest that homogenous leadership may not offer basic
benefits which are important for “diverse people”, like private space for lactating mothers.
Broadcast empowering
messages.
Find strong, competent female
software developers in your
team and help them get their
voice heard. Sponsor and attend
women-in-tech events. Don’t
forget about men – some of them
are already industry leaders,
use their influence to send their
message. Find strong, male
advocates who can work to foster
diversity in a number of ways.
Source: Code like a Girl
IT recruitment process that works
Self-Assessment
1.
How many female developers have you hired in the last 12 months?
What is the percentage of your female hires from last year?
2.
What percentage of the developers in your company are female?
3.
Do you offer benefits catering to the needs of both gender groups?
Do you offer female-oriented benefits? How can you make sure these
are not neglected?
4.
Do you offer equal pay to male and female developers? Are you equally
open to salary negotiations with both of these gender groups?
5.
How can you encourage your female developers to nominate
themselves for promotion?
6.
Are your job ads and job descriptions free from unconscious bias?
87
IT recruitment process that works
Chapter 10:
HR and IT department
cooperation – how to
make it work
88
IT recruitment process that works
Let’s face it, as far as recruiting tech talent is concerned, in many companies
HR and IT don’t get along. There are many stories about their rocky relationship.
On the one hand, IT departments grumble that recruiters don’t put enough effort into the
screening process and are wasting programmers’ precious time by inviting candidates that
don’t meet basic requirements to on-site interviews. On the other hand, recruiters complain
that they are working their socks off and their work is always underappreciated. It’s important
to understand where these misunderstandings and miscommunication come from in order to
build a solid relationship and an effective recruitment process.
The HR perspective
The shortage of talent and the omnipresent war over tech candidates make the job of technical
recruiters pretty challenging. A recruiter’s job doesn’t end with putting an ad on the job board,
sitting back and waiting for CVs to come in. It requires being active – spending a lot of time
looking through coding-related sites and searching for coders that match your requirements,
going through social media, business profiles, groups and discussions and finally trying to get in
touch with them.
More active recruiters who know how important building relationships is attend meetups for
programmers or try to be present on various sites and show that they care. They do a lot for
building employer branding.
Sourcing, however, can be ungrateful. Recruiters spend a lot of time with no success
guaranteed. In fact, nobody sees how much work they have done, effort and energy they put
into it and how much time it cost them. Everybody wants results. That’s why recruiters often
feel that their job is not appreciated and valued enough by co-workers.
Then comes screening which seems to be even more challenging. Based on CVs and often
phone or video interviews you have to decide whether a candidate has the skills necessary to
do a given job. But few technical recruiters can program themselves or have deep knowledge in
this field which makes it difficult to assess skills adequately.
The company wants good programmers, but nobody thinks and gives recruiters the tools and
know-how that can support them with making the right decisions. In some companies there is
89
IT recruitment process that works
dedicated software for that purpose, and in others they get support from the Subject-Matter
Expert (SME). But still in many of them, technical recruiters are left on their own trying to meet
unrealistic expectations.
That’s why so often recruiters prefer to act cautiously and invite all candidates that might have
the competencies needed for a meeting with IT staff. From their perspective, it’s the best way
to ensure that they don’t miss a single valuable candidate.
The IT perspective
The IT team usually has a lot on their plates. If your company is recruiting new programmers it
means that internal developers are knee-deep in work and don’t have the necessary resources
to progress at the desired pace.
If meeting tight deadlines with programming projects isn’t enough, they participate in
project meetings, manage stakeholders and adjust their approach to IT project challenges.
On top of that, they have to take part in the recruitment process being responsible for
screening new candidates technical skills, as nobody else has the skills to do it. So far
everything is pretty straightforward, right? But how would you feel if your precious time
was wasted for interviewing weak candidates who don’t meet even the basic programming
requirements? Or if after a couple of minutes you already know that the candidate is not
qualified to work on the project you are recruiting for? Still even if the interview finishes
within 15 minutes, as a programmer you wasted more than 30 minutes of your time or even
more because you had to take a break from work.
Let’s face the truth, most tech recruiters lack programming skills. This is understandable.
What IT teams often find ununderstable is that HR professionals rarely ask them about tools
used in the recruitment process, especially technical screening tools. Instead, they make the
decision to purchase on their own. This is what really annoys programmers as they could be of
great help in that matter.
90
IT recruitment process that works
Where does the fault lie?
Mutual grievances of HR and IT seem to be only the tip of the iceberg. It goes way beyond that.
To avoid conflict, you have to get back to your recruitment strategy, setting goals, analyzing
each step of the hiring pipeline and rethinking how you can streamline your IT recruitment
process and make cooperation between HR and IT departments really work.
As Dr. John Sullivan stated in “The Top 12 Reasons Why Slow Hiring Severely Damages
Recruiting And Business Results”: “each unnecessary position vacancy day has a significant
dollar impact on productivity, innovation, and revenue generation.” It is not only in the best
interest of HR and IT to start getting along, but also it’s in the interest of CEOs, companies, and
management as it’s necessary to deliver results.
How to optimize
You know that it’s much more complicated than just reorganizing the process.
Make people talk to each other,
You can start from workshops and brainstorming sessions which will help you identify
bottlenecks and weak points of your current recruitment process. You can also use it to work
out an approach that will meet everybody’s demands and discuss tools that can streamline the
whole process.
Foster collaboration,
IT recruitment is a joint effort. The sooner all employees get on board, the better results you
will achieve. Just imagine the effects it will have on your team: technical recruiters being
proud and appreciated that they found real game-changers who are crucial for company
performance acceleration and IT staff who finally work with people that significantly improve
the effectiveness of what they do.
91
IT recruitment process that works
Know the data,
Try to be as precise as possible when talking to developers. Tell them why you want to do
something and cite research supporting your point of view. Technical recruiters tend to get bad
rep, but doing your homework means you are more confident.
Learn the lingo.
You don’t need to be able to code, but know what you’re talking about. You must know the
difference between front-end, back-end, and full stack. If you don’t, make sure you read the
next chapter where you’ll find a glossary of IT terms we’ve prepared for you.
Self-Assessment
1.
How is your IT team involved in the recruitment process?
2.
At which stage of the recruitment process are they involved?
How many people in total?
3.
How often do you communicate and how?
4.
Do you slow down their work? Do they slow down yours?
5.
Do you use coding tests? If so, at which point in the process?
92
IT recruitment process that works
Chapter 11:
A glossary of IT terms
for non-coders
93
IT recruitment process that works
General terms
Programming language is a language used by programmers to instruct a computer to perform a certain job.
It’s normally a set of instructions that can be used to achieve the desired output of a computer application
written in a certain programming language.
Source code is a set of instructions and statements written by a programmer using computer programming
language. This code is later translated into machine language (binary code) by a compiler. Source code is the only
stage where a programmer can read and modify a computer program. Read more: Wikipedia
Framework is code that is already written and covers low(er) level, generic functionalities so programmers can
selectively change it with additional user-written code, thus providing application-specific software. A software
framework provides a standard way to build and deploy applications. It consists of many predefined solutions
for common functionalities that are used to help build software applications, products and solutions on top
of it. Using a framework, developers don’t have to write all the functionalities of the software that they are
working on because they are already implemented in the framework and ready to use with a single command.
Frameworks can improve developer productivity as well as the quality, reliability and robustness of new
software. Thus, knowledge of frameworks for a specific job is one of the most important skills of a developer.
Examples: Bootstrap, React, Spring Framework, Rails, Symfony. Read more: Wikipedia
Library is a collection of predefined functions or routines that a program can use. Libraries are particularly
valuable for storing frequently used routines because you do not need to explicitly link them to every program
that uses them. Example libraries: JQuery, Google Guava, RxJava, d3.js.
Culture
Agile software development describes a set of values and principles for software development under which
requirements and solutions evolve through collaborative effort of self-organizing cross-functional teams.
It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it
encourages rapid and flexible response to change. Described in Agile Manifesto. Read more: Wikipedia
DevOps represents a change in IT culture focusing on rapid IT service delivery through the adoption of agile,
lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture) and
seeks to improve collaboration between operations and development teams. DevOps implementations utilize
technology — especially automation and monitoring tools that can leverage an increasingly programmable
and dynamic infrastructure from a life cycle perspective. DevOps core principles are consistent with many
Site Reliability Engineering (see: SRE) principles and practices. One could view DevOps as a generalization
of several core SRE principles to a wider range of organizations, management structures, and personnel.
One could equivalently view SRE as a specific implementation of DevOps with some idiosyncratic extensions.
Read more: Gartner, O’Reilly Media
94
IT recruitment process that works
SRE (Site Reliability Engineering) is a discipline that incorporates aspects of software engineering and applies
that to operations whose goals are to create ultra-scalable and highly reliable software systems. It encourages
product reliability, accountability, and innovation. Read more: Google
Roles
Front-End Developer essentially creates whatever has a digital visual presence with which people interact
(client-side environment). Traditionally, a front-end developer is a person who is comfortable with both design
and coding; in other words someone who is comfortable using simple design tools and is able to create a website
using HTML code, style it using CSS and make it interactive using JavaScript.
UI designer, or “User Interface” designer, is the one that designs what the application looks like from the
perspective of the user to enable users to interact with the application. UI designers must understand what
front-end developers expect from them and know how to communicate with them, as well as have design skills.
Often this person does not have to be a programmer at all.
UX designer or “User Experience” designer is a person who helps create a better experience of using
the application. This person simplifies the visual part of the application and brings out the features that
are used most often. His/her job is to make the application as easy and useful for the users as possible
to increase usability.
Back-End Developer is involved in the process of combining a server, an application and a database to solve
a problem (server-side environment). This entire process is solidly entrenched in logic, a network of processes
and queries being resolved in split seconds to give you a certain desired output as a user. They are different from
front-end developers in that the job of a back-end developer is completely free of any visual design and relies on
logical reasoning and software architecture that aims to deliver a particular output.
Full-Stack Developer is one who is comfortable working with both back-end and front-end technologies.
A general knowledge of technologies from every section of the development process is necessary for a frontend developer. This of course means that they will not be an expert in any one particular field but can rather
offer a better overview of applicational possibilities and capability of bridging the gap between how the system
functions and how it looks and feels for the user.
MEAN developer is one who uses JavaScript software stack for building dynamic websites and web
applications. MEAN stack developers are experts in using MongoDB, Express.js, AngularJS (or Angular), and
Node.js. Because all components of MEAN stack support programs written in JavaScript, MEAN applications
can be written in one language for both server-side and client-side execution environments.
System administrator (SysOp, sysadmin) is a person who is responsible for the upkeep, configuration and
reliable operation of computer systems, mostly servers. Read more: Wikipedia
95
IT recruitment process that works
Programming languages and technologies
Java is a compiled, object-oriented programming language, similar in syntax to C++. It is intended to let
application developers “write once, run anywhere” meaning that compiled Java code can run on all platforms
that support Java without the need for recompilation. Read more: Devskiller
C is a general-purpose, imperative computer programming language supporting structured programming,
lexical variable scope, and recursion, while a static type system prevents many unintended operations.
C was originally developed by Dennis Ritchie between 1969 and 1973 at Bell Labs, and used to reimplement
the Unix operating system. It has since become one of the most widely used programming languages of all time.
Read more: Wikipedia
C++ (pronounced cee plus plus /ˈsiː plʌs plʌs/) is a general-purpose programming language. It has imperative,
object-oriented and generic programming features and it provides facilities for low-level memory manipulation.
Read more: Wikipedia
C# (pronounced “C sharp”) is a programming language that is designed for building a variety of applications that
run on the .NET Framework. C# is simple, powerful, type-safe, and object-oriented. Read more: Wikipedia
Python is one of the most commonly used programming languages (top 3 according to IEEE Spectrum research).
It was first released in 1991 and gained popularity for being simple to learn, yet powerful in solving problems.
The syntax is similar to C++ family yet equipped with a variety of modern solutions. Read more: Devskiller
Visual Basic .NET is a multi-paradigm, object-oriented programming language implemented on the
.NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visual Basic language.
Although the “.NET” portion of the name was dropped in 2005, “Visual Basic [.NET]” is used to refer to all
Visual Basic languages releases since 2002 in order to distinguish between them and the classic Visual Basic.
Along with Visual C#, it is one of the two main languages targeting the .NET framework. Read more: Wikipedia
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose
scripting language that is especially suited for web development and can be embedded into HTML.
Read more: Wikipedia
JavaScript (also known as JS) is a high-level, prototype-based, untyped, dynamic language. Depending on
the environment JavaScript can be interpreted or compiled. It is a multi-paradigm programming language,
supporting object-oriented, imperative and functional programming styles. Read more: Devskiller
Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make
report processing easier. Since then, it has undergone many changes and revisions. Perl 6, which began as
a redesign of Perl 5 in 2000, eventually evolved into a separate language. Both languages continue to be
developed independently by different development teams and they liberally borrow ideas from one another.
Read more: Wikipedia
96
IT recruitment process that works
Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. It was designed
and developed in the mid-1990s by Yukihiro “Matz” Matsumoto in Japan. According to its creator, Ruby was
influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp. Read more: Wikipedia
Swift is a general-purpose, multi-paradigm compiled programming language developed by Apple Inc. for iOS,
macOS, watchOS, tvOS, and Linux. Read more: Wikipedia
R is an open source programming language and software environment for statistical computing and graphics.
It is widely used among statisticians and data miners for developing statistical software and data analysis.
Read more: Wikipedia
Go (often referred to as golang) is a free and open source programming language created at Google.
Read more: Wikipedia
Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging
to the C programming language. It was the main programming language used by Apple for the OS X and iOS
operating systems, and their respective application programming interfaces (APIs) Cocoa and Cocoa Touch prior
to the introduction of Swift. Read more: Wikipedia
SQL is the most popular database programming language. Historically, this declarative programming paradigm
has been a key feature for ad-hoc queries run for data introspection executed by human users directly with SQL
(rather than with a UI). In modern days, SQL is also embedded in other, more general purpose programming
languages like Java in order to access data from central databases. Read more: Devskiller
Scala is a general-purpose programming language providing support for functional programming and a strong
static type system. Designed to be concise, many of Scala’s design decisions aimed to address criticisms of Java.
Read more: Wikipedia
Android is the world’s most popular operating system (it’s not a programming language) dedicated mainly
to mobile devices. The source code is developed by Google under the Android Open Source Project
(AOSP). Subsequent versions are usually released annually and are announced at Google I/O conferences.
Read more: Devskiller
Databases
Database – a collection of information stored and used by the software, organized in a way that can be easily
managed. Traditional databases are organized by fields, records, and files.
Relational Database is a database organized with the relational model. Relationships are a logical connection
between different tables established on the basis of interaction among these tables. All relational databases use
SQL (Structured Query Language) to operate on data (insert, update, load). Looks like a spreadsheet. Examples:
Oracle, MySQL, Postgres, SQL Server. Read more: Wikipedia
97
IT recruitment process that works
NoSQL Database – non relational or non SQL database. Unlike relational databases it uses other forms than
tabular data like key-value collections, multi-level structures, graphs, etc. Such databases are usually chosen for
their performance, scalability and flexibility in schema design.
CAP theorem states that it is impossible for a distributed data store to simultaneously provide more than two
out of the following three guarantees: consistency (every read receives the most recent write or an error),
availability (every request receives a non-error response without guarantee that it contains the most recent
write) and partition tolerance (the system continues to operate despite an arbitrary number of messages being
dropped or delayed by the network between nodes). In other words, CAP theorem states that in the presence of
a network partition, one has to choose between consistency and availability. Read more: Wikipedia
ACID – Atomicity, Consistency, Isolation, Durability. A set of properties related to the database engines
guaranteeing after finishing modification data will be consistent. Read more: Wikipedia
User Interface
GUI/UI, or “Graphical User Interface”, is a visual part of the software or a website that allows the user to
interact with the application. Every time when you are using an application you use it by clicking through GUI.
Responsive Design is responsible for making the interface of the application display well on all possible devices
like phones, PCs or tablets that we use to access it.
CSS (Cascading Style Sheets) is a method of assigning formatting rules to an HTML page which allows the
content and presentation of a website to be separated. This separation gives web developers the ability to
instantly change the appearance of a specific HTML element, like position, colors, fonts, etc., throughout an
entire website. Read more: Wikipedia
Material design is Google’s conceptual design philosophy that outlines how apps should look and work. It breaks
down everything from animation and style to layout and gives guidance on patterns, components and usability.
Read more: Wikipedia
Bootstrap – a free open-source front-end web framework for designing websites and web applications. It makes
it very easy to create webpages by empowering designers to select from a large collection of pre-built elements,
behaviors, and shortcuts. The aim is to unify design and allow both non-technical and technical designers to
improve the quality of their design. Read more: Wikipedia
98
IT recruitment process that works
Testing
Unit testing is a software development process in which the smallest testable parts of an application (called
units) are individually and independently checked to see if they succeed. Most popular libraries are: JUnit,
Mocha, NUnit, RSpec.
Integration tests are a level of software testing where individual units are combined and tested as a group.
These tests are performed in order to expose defects in the interface and in interactions between integrated
components or systems. It occurs after unit testing and before validation testing. Read more: Wikipedia
Acceptance tests are a level of software testing where a system is tested for acceptability. The purpose
of this test is to evaluate the system’s compliance with business requirements, user needs, and business
processes. Acceptance tests determine if a system satisfies the acceptance criteria and to enable
the user, customers or other authorized entity to determine whether or not to accept the system.
Read more: Software Testing Fundamentals
Performance tests are a type of software testing that intends to determine how a system
performs in terms of responsiveness and stability under a certain workload (usually under stress).
Read more: Software Testing Fundamentals
Development tools and processes
Version control system is the management of changes to documents, computer programs, large websites, and
other collections of information. Changes are usually identified by number or letter code, termed “revision
number”, “revision level”, or simply “revision”. For example, an initial set of files is “revision 1”. When the first
change is made, the resulting set is “revision 2”, and so on. Each revision is associated with a timestamp and
the person making the change. Revisions can be compared, restored, and with some types of files, merged.
Read more: Wikipedia
Git is a free open source distributed version control system for tracking changes in computer files and
coordinating work on those files among multiple people. It is primarily used for source code management in
software development, but it can be used to keep track of changes in any set of files. Read more: Wikipedia
Subversion (svn) is another popular open source version control system. In contrast to Git, all developers use
one centralized repository. Read more: Version Control with Subversion
Commit – In version control systems, a commit is a saved change made to the source code. Commits are usually
added/deleted files or directories, changed file contents, etc. Read more: Wikipedia
Trunk Based Development is the practice of merging all developer working copies to a shared mainline several
times a day. Read more: TrunkBasedDevelopment
99
IT recruitment process that works
GitHub is a popular Git hosting service. It is mostly used for code. In addition to Git, it provides several
collaboration features such as bug tracking, feature requests, task management and wikis. Website: GitHub.com.
Read more: Wikipedia
GitLab just like GitHub is a Git repository hosting which provides wikis and issue tracking functionality. It’s an
open source project developed by GitLab Inc. Website: GitLab.com. Read more: Wikipedia
Bitbucket is Git and Mercurial repository hosting service owned by Atlassian. Like its counterparts, it provides
several collaboration features such as issue tracking and wikis. Website: Bitbucket.org
IDE, or “Integrated Development Environment” is a code editor application designed to help programmers
write, run and debug code. Examples: Eclipse, IntelliJ IDEA, Visual Studio, PHP Storm, etc.
Build tools are used to convert programming code written by the developer into binary code that is executable
by computer and run it. It usually manages external dependencies (libraries or frameworks) which are used in
the project. Examples: Gradle, Maven, Rake, MSBuild, Phing.
Automation server (like Jenkins, Bamboo, TeamCity) helps automate the non-human part of software
development process with continuous integration and facilitating technical aspects of continuous delivery.
Read more: Wikipedia
Continuous Integration – extension of Trunk Based Development practice, where each integration is verified by
automated tools and tests to give fast feedback and detect errors as fast as possible. Read more: Martin Fowler
Continuous Delivery – software engineering approach in which teams produce software in short cycles,
ensuring that it can be reliably released at any time. This means deployment package is prepared and
automatically tested continuously (e.g. once per day) and ready to ship to production. Read more: Wikipedia
Continuous Deployment is similar to Continuous Delivery but ends up on the package being deployed to
production instead of just ready to be deployed.
Deployment – pushing new software package version into target environment.
Feature – a distinguishing characteristic of a software item (e.g., performance, portability, or functionality).
Source: Wikipedia
Release – making the version package (features) available to end users.
Deployment Pipeline defines the sequence of stages to pass until application is rolled-out to production.
By breaking up the deployment lifecycle into stages, you collect increasing confidence, usually at the cost of
extra time. Early stages can find most problems yielding faster feedback, while later stages provide slower and
more thorough probing. Stages can include building, deploying, testing, archiving, etc. Read more: Martin Fowler
100
IT recruitment process that works
Ticket / Issue / Incident is a running report on a particular problem, its status, and other relevant data within an
issue tracking system, They are commonly created in a help desk or call center environment and almost always
have a unique reference number, also known as case, issue or call log number which is used to allow the user or
help staff to quickly locate, add to or communicate the status of the user’s issue or request. Read more: Wikipedia
Architecture
Architecture – in information technology (especially computers and more recently networks) architecture is a term
applied to both the process and the outcome of thinking out and specifying overall structure, logical components, and
logical interrelationships of a computer, its operating system and network. Read more: WhatIs.com
API (Application Programming Interface) – set of definitions, protocols, schemas, tools and practices to
communicate with the application. To developers, API is what Graphical User Interface is to users. It allows
developers (and finally other applications) to communicate with applications. Read more: Wikipedia
REST, (Representational State Transfer) is a set of guidelines for building web services providing
interoperability between remote computers. It is focused on resources and basic operations (like editing,
reading, adding) related to them. Commonly used to expose public API. Read more: Wikipedia
SOAP – Simple Object Access Protocol is a way of exchanging structured information between computers.
Compared to REST it’s more formal, less flexible and requires schema definition (WSDL). Read more: Wikipedia
Monolith is an architecture style based on running on a single application layer that tends to bundle all the
functionalities needed by the architecture together. To put it simply, it means being composed all in one piece.
Monolithic software is designed to be self-contained; components of the program are interconnected and
interdependent rather than loosely coupled as is the case with modular software programs. Furthermore,
if any program component must be updated, the whole application has to be rewritten, whereas in modular
applications, any separate module (such as a microservice) can be changed without affecting other parts of the
program. Read more: WhatIs.com
Distributed system is a model in which components located on networked computers communicate
and coordinate their actions by passing messages, appearing to its users as a single coherent system.
The components interact with each other in order to achieve a common goal. Three significant characteristics
of distributed systems are: concurrency of components, lack of a global clock, and independent failure of
components. Read more: Wikipedia
Service-oriented architecture (SOA) is a style of software design based on discrete software components
(services) that collectively provide functionalities of larger software architecture. A service is a discrete unit
of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving
a credit card statement online. In this approach, services are provided to other components by application
components, through a communication protocol over a network. Basic principles of service-oriented
101
IT recruitment process that works
architecture are independent of vendors, products and technologies. Service-oriented architecture has been
mainly used and focused on big enterprise scale. Read more: Wikipedia
Microservices – a variant of the service-oriented architecture (SOA) architectural style. The idea behind
microservices is that some types of applications become easier to build and maintain when they are broken
down into smaller, composable pieces which work together. Each component is autonomous, developed
separately, and the application is then simply the sum of its constituent components. This is in contrast to
a traditional, “monolithic” application developed in one piece. Microservices style is used by many organizations
(like Netflix, Uber, Facebook) today as a game changer to achieve high degree of agility, speed of delivery, and
scale. Read more: Martin Fowler
CRUD – acronym of Create, Read, Update, Delete. It describes a type of applications focused on simple data
editing without any rich business operations. Colloquially called “database viewers”. Read more: Wikipedia
Infrastructure
Infrastructure refers to composite hardware, software, network resources and services required for
the existence, operation and management of an enterprise IT environment. It allows an organization
to deliver IT solutions and services to its employees, partners and/or customers and is usually internal to an
organization and deployed within owned facilities.
Cloud service is any service made available to users on demand via the Internet from cloud computing
provider’s servers (i.g Microsoft Azure or Amazon Web Services) as opposed to being provided from a physical
on-premises servers.
Software as a Service (SaaS), sometimes referred to as “on-demand software”, is a software licensing and
delivery model in which software is licensed on a subscription basis and is centrally hosted. SaaS is the most
familiar form of cloud service for consumers. SaaS providers make the application available to users through the
Internet, usually a browser-based interface. SaaS customers can enjoy the software without having to worry
about development, maintenance, support, update, or backups. The downside, however, is that your software
experience is wholly dependent on the SaaS provider, which is responsible for stability, reporting, billing, and
security. SaaS examples: Gmail, Dropbox, Salesforce, or Netflix. Read more: Wikipedia
Platform as a Service (PaaS) – is a category of cloud computing services. PaaS functions at a lower level than
SaaS, typically providing a platform on which software can be developed and deployed. PaaS providers abstract
much of the work of dealing with servers and give clients an environment in which the operating system and
server software, as well as the underlying server hardware and network infrastructure are taken care of,
leaving users free to focus on the business side of scalability, and the application development of their product
or service. It allows customers to develop, run, and manage applications without the complexity of building and
maintaining the infrastructure typically associated with developing and launching an app.
102
IT recruitment process that works
PaaS makes the development, testing, and deployment of applications quick, simple, and cost-effective. PaaS
examples: Pivotal Cloud Foundry, Heroku. Read more: Wikipedia
Infrastructure as a Service (IaaS) is the most basic cloud-service model offering computing infrastructure –
virtual machines and other resources – as a service to subscribers. It’s a lower level compared to PaaS. Typically,
IaaS provides hardware, storage, servers and data center space or network components. It allows to quickly
scale up and down with demand and pay only for what you use. This makes IaaS well-suited for workloads
that are temporary, experimental or change unexpectedly. IaaS examples: Amazon Web Services and its EC2.
Read more: Wikipedia
Automation – IT automation is the linking of disparate systems and software in such a way that they become
self-acting or self-regulating. Read more: TechTarget.com
Infrastructure as Code (IaC), also referred to as programmable infrastructure, means writing code
(which can be done using a high level language or any descriptive language) to manage configurations and
automate provisioning of infrastructure in addition to deployments. IaC is not only about writing scripts,
it also involves using tested and proven software development practices that are already being used in
application development, e.g. version control, testing, small deployments, use of design patterns etc. In short,
this means you write code to provision and manage your server, in addition to automating processes.
It’s an approach to managing IT infrastructure for the age of cloud, microservices and continuous delivery.
Read more: ThoughtWorks
Containers consist of an entire runtime environment: an application, plus all its dependencies, libraries and
other binaries, and configuration files needed to run it, bundled into one package. Containers are a solution to
the problem of how to get software to run reliably when moved from one computing environment to another.
This could be from a developer’s laptop to a test environment, from a staging environment into production, and
perhaps from a physical machine in a data center to a virtual machine in private or public cloud. Read more: CIO
Operating system is system software that manages computer hardware and software resources and provides
common services for computer programs. All computer programs, excluding firmware, require an operating
system to function. Examples: Microsoft Windows, macOS, Linux. Read more: Wikipedia
Shell is an interface that enables the user to interact with a computer. It provides user interface for access to
an operating system’s services. In general, operating system shells use either command-line interface (CLI) or
graphical user interface (GUI), depending on a computer’s role and particular operation. The name comes from
the fact that shells are layers around the operating system kernel. Read more: Wikipedia
Metric – measurement of a particular characteristic of a program’s performance or efficiency.
Log is a record of what has happened. Typically it helps diagnose problems or get certain insights on what is
going on in an application’s life cycle.
103
104
IT recruitment process that works
Conclusion
Tech recruiters and developers are not on the best terms and there’s a reason
for this state of affairs. Many tech recruiters don’t do their research, neglect
the importance of industry reports, don’t follow influencers, and fail to
personalize. They act like there’s still a surplus of talent and are surprised
that the final outcome of their recruitment processes is far from ideal.
In other words, they are oblivious to the challenges of modern IT recruitment.
Because they lack important skills and knowledge, they go around sending bad
outreach messages which further tarnishes our precious reputation.
However, this can actually work to your advantage. If you educate yourself,
know your data and use it, people you’re trying to recruit are going to notice
and appreciate your work.
Make sure you do all it takes to distance yourself from HR people sending
vague emails with “a couple of cool opportunities” to developers who don’t
even have the skills predefined in the job description.
The next step to grow your career
as a recruiter (and your company)
is to get certified and start reaping
benefits from what you’ve learned.
Devskiller is a powerful tool for testing developers
skills through programming tasks, with a strong
focus on applied knowledge.
It allows you to accelerate your tech hiring based on
coding tests which mirror your candidate’s 1st day
at work.
Time to get serious.
Get Tech Recruitment certified now and prove your value for the employer.
Start hiring the best developers out there, every time.
Get Certified
devskiller.com
Questions?
Email us at hrcertification@devskiller.com
Download