Assessing technical skills of developer candidates

Nic Wortel
@nicwortel

About me

  • Software Consultant, Trainer, Agile Coach
  • PHP, Symfony, DevOps, Kubernetes, DDD, Agile

nicwortel.nl     @nicwortel

Shameless self-promotion

PHP cheat sheet
Composer cheat sheet

https://nicwortel.nl/cheat-sheets

My experiences with job interviews

Goal of this talk

Define what you are looking for

What technical skills are you looking for?

What level of seniority are you looking for?

(junior/medior/senior)

How do you define seniority?

Assessment types

  • Knowledge quiz
  • Assessment platforms (Codility, DevSkiller, etc.)
  • Live coding assignment
  • Take-home assignment
  • Live code review

Knowledge quiz

Pros

  • Low effort

Cons

  • Does not test actual skills
  • In real-life Google, StackOverflow, etc. exist
  • Can be demotivating

Assessment platforms (Codility, DevSkiller, etc.)

Pros

  • Low effort
  • Candidate is writing actual code
  • Solutions can be automatically checked

Cons

  • Scoring does not include code quality or best practices
  • Does not determine seniority
  • Online dev environment instead of local IDE
  • Costs

Live coding assignment

Pros

  • Candidate is writing actual code

Cons

  • Candidate cannot use own IDE & tools
  • Higher pressure can filter out good candidates

Take-home assignment

Pros

  • Candidate is writing actual code
  • Less pressure than live coding
  • Candidate can show off their knowledge
  • Questions about solution can be part of interview

Cons

  • Big time investment for candidate can result in dropout
  • More difficult to assess objectively

Live code review

Pros

  • Gives insight in both technical knowledge and communication skills
  • Less pressure than live coding
  • Works well for all seniority levels

Cons

  • Candidate is not writing actual code

General tips

  • Let the candidate know what to expect
  • Create a checklist of things to assess
  • Avoid trick questions and ambiguity
  • Give the candidate a chance to ask questions as well

Summary

  • Define what you are looking for
  • Choose an assessment type that does not filter out good candidates
  • Be transparent and objective

Thank you!

Please give me feedback at https://joind.in/talk/ddb1c

Questions?