"If a company wants half a day of work from me, they can damn well pay for it!" (Quote from a dev)
When developers apply for a role, they appreciate that hiring managers need to evaluate their skills.
What they don’t appreciate, is being asked to complete a technical test, almost for the sake of it.
If your technical tests can be described in any of these three ways, you're not only putting off developers, you might also give the wrong impression of your company.
DOESN'T RELATE TO THE ROLE:
Why create a fake environment for your candidates? Show them what working there is really like.
Candidates don’t have 3-4 hours to just to do an exercise for you. Remember they could be applying to other companies as well.
REQUIRES A LOT OF MEMORISING:
Even the best devs use Google from time to time. Why should your winner be the one who can cram the best or have the memory of an elephant? Most developers won't mind taking a test if it is quick and relevant to the job they’re applying for.
Plus, the technical test should be a small part of your interview process, not the be-all and end-all.
"If, as a business, you use a rigid technical test to filter developers, you have already failed."