Recruiting the right people quickly public

Preview:

Citation preview

Recruiting the right people quickly:Attempting the impossible!

Ashley Frieze (ashley@incredible.org.uk)November 2014

• We should hire fast• Don’t let a project get delayed

• We want the best people• Better not to hire the wrong person• It can hurt more than waiting

Recruitment is a contradiction

Recruitment is a contradiction

Qu

alit

y

Great

Oh dear

Speed of recruitment

Graph of perceived quality of candidate vs speed of recruitment

Sluggish Impulsive

Driven by our perception of the market

Great developers

Driven by our perception of the market

Great developers

Not so great employed developers

Driven by our perception of the market

Great developers

Not so great employed developers

Driven by our perception of the market

Great developers

Pas-sive

On the market

Some great candidates entering the marketPlenty of not great ones available to job seek

Not so great employed developers

Driven by our perception of the market

Great developers

Great

Not so great

Great candidates get jobs quicklyNot so great ones stay in the market longer

• Choose carefully• Avoid the likelihood that your candidate is not so great

• Act quickly• If you don’t take a great candidate, someone else will

Contradiction version 2

• Pick one at random and hire them outright• Guarantees you’ll only hire lucky people

How can we choose the right candidate?

• Go on recruitment agent’s recommendation• Now THAT is ridiculous• Keyword matching at best

How can we choose the right candidate?

• Use the CV

How can we choose the right candidate?

• Yes, but can you write great software?

Lorem ipsum dolor sit amet, consecteturadipiscing elit. Curabitur elementum risusquis sem lobortis HTML. Morbi volutpatfacilisis quam at tempus. Donecscelerisque justo ut nunc maximus, egettincidunt JAVA accumsan. Vivamus necblandit ante. Nulla laoreet eros in nuncsodales hendrerit. Morbi C++ diam in nunc efficitur congue. Phasellus turpisrisus, maximus vitae mollis ut, molestieeget urna. Fusce sit amet orci ac auguecondimentum auctor eget eget elit.

• HTML, CSS, Javascript (5 years)• C++ (9 years)• Java (5 years)• TDD, BDD, CI, CD• Design Patterns• SQL (MySQL, Oracle, Toad)• IDEs (Eclipse, IntelliJ, Netbeans,

Microsoft Visual Studio)• Word for Windows 2.0• Punched cards• Binary• PuTTY

Save me from the long winded… I enjoy a nice skills matrix

• Test them out• Without slowing the process down

How can we choose the right candidate

• Hiring is a process problem• So use a value stream mapping analysis

The Eureka Moment

Our old process

CV

Notice it (3 days)

Read CV and email decision (10 minutes)

Send them coding test (1/2 day delay)

Coding test comesback (3 days)

Review test (10 minutes)

Delay organisingphone interview (3 days)

Phone interview (30 minutes)

Organise face to face interview (6 days)

Interview (2 hours)

Duration – 16 daysValue adding time – 2hrs 50mEfficiency – 3%

Process after modification

CV

Wait for screening result (1 day)

Review screening test (5 minutes)

Delay organisingphone interview (2 days)

Phone interview (30 minutes)

Organise face to face interview (4 days)

Interview (3.5 hours)

Duration – 7.6 daysValue adding time – 4hrs 20mEfficiency – 10%

HR read CV and alsosend screening link(10 minutes)

Send both to manager (5 minutes)

Double the speedThree times more “efficient”Most of the delay is unavoidable

• It’s better now• It’s not perfect• It’s not quite like this now, either

• Some corporate wrinkles have entered the process

• The approach of analysing and refining the process really worked for us

Full disclosure

• A screening test is better than a CV or application form

• Make it a question of opinion• No Googling• Read between the lines• Find people’s communication style• Find passion/bug-bears/missions

What to test: Screening

• Need to know if they can really write code• Coding test is a

massively good idea

What to test: Coding

http://www.joelonsoftware.com/articles/fog0000000043.html

• Not a hard test• A fail can be inconclusive (“well, it’s quite a hard test”)

• Check it’s easy to pass • Road test it• We had “Output all numbers 1 – 999,999 as words in

English”• Some solutions took 20 hours!

What sort of coding test?

• Something easily done in half the time• Don’t test oblique framework knowledge

• See if they see code your way• Coding style• Really challenge them with a code review• Ability to see alternatives in discussion

• We do our coding test in 90 minutes at start of the face to face interview• Some people leave the building after 15 minutes’ code

review

What sort of coding test?

• Provide automated tests• Provide ready-made skeleton project

• Checks the speed of getting into your codebase

What sort of coding test? – Even better

• Work out a few different statistics on an array• Put some data into a collection and then retrieve

certain values• Implement a design pattern• Implement a simple string conversion algorithm

Example coding challenges:

• “I really loved your test – it impressed me that you cared enough about these things to give me such a challenge”• Appeals to the right sort of candidates• Someone who has passed your test may be

more inclined to accept an offer• Stockholm Syndrome?

Good coding challenge: Fringe benefit

• It’s not all about the tech• Hire on skills, fire on behaviour

• Remember to ask some human questions

Finally

• Not cool• Recruitment agents• CVs• Most candidates in the jobs market• Delays that lose great people

• Cool• Speed up your process• Add enriching screening/testing to it• Act quickly for the right people

• Not covered• How do we find candidates at all?

Summary

Recommended