Yes, technical tests are fair, and required.
Recruiting agencies will put everything and anything on a candidate's resume. Their people are evaluated by how many interviews they can schedule, and how many placements they achieve. So, they will stack the applicant's CV with anything that's ever been in the same 10-mile radius as the individual in question.
The result is that you're faced with a piece of paper that looks identical to every other programmer's. It's an alphabet soup -
So, we make a first pass, weeding out those who a) can't write, even after the headhunter has spiffied their CV, b) are scant with details, and c) hop assignments every three months. The rest have to do a preliminary interview, and that mainly consists of determining whether or not they actually know any of the stuff that their resume's been padded with. Sure, we ask the traditional interview questions, but we also do a base knowledge test. You would be surprised how many
Programmer's resumes are becoming increasingly useless, especially when you're flooded with nearly identical H1-B applicants with the same vague academic credentials (ie: "BS Elec. Eng., India", "Masters of Computer Applications" - no institution listed, "Bachelor of Engineering" - no discipline given), identical alphabet soup, and interchangeable litanies of 6-month contracts scattered about the country. They all have widely varying levels of competence that is in no way obvious from their resume. They all have "7+ years experience." That's what makes up 90% of the programmer pool these days, and even if you're in the top 10% with verifiable credentials and a real track record, you're gonna have to go through the same process. Because those of us on the hiring end can't tell anymore from your paperwork, without giving you some sort of objective evaluation of skills, syntax, and basic concepts.
It's been the rule for some time now. Ten years ago, it was all of the newly minted MCSEs rolling out of the fly-by-night tech schools. Before that, it was the "paper CNA/CNE's" who were able to sit the Netware exams and pass by the grace of their deity of choice. And there have always been the code-monkey grindhouse diploma-mill shops, who crank out "programmers" in the language du jour - especially since the web boom - CGI, Java,
So, don't take it as a personal insult. You may be better than all of the above, but no one can determine that from a piece of paper, a firm handshake, and a good story about how you were the lead coding god on your last project. 'Cause there's a dozen other applicants out there with the same spiel.
"Religion is something left over from the infancy of our intelligence, it will fade away as we adopt reason and science as our guidelines." -- Bertrand Russell