Why? Probably it’s because selecting candidates has increasingly become the province of HR departments. The people who work there may be good at what they do, but they don’t have domain-specific knowledge, so the only thing they can do is take the requirements literally.
There’s a company I won’t name that had a job listing in March for which I’m very highly qualified and which I think I would have loved. I applied and got a form response on April Fools’ Day. Several different attempts to follow up, including a letter to the head of engineering, produced no further results. The position is still posted on the company’s website!
So why has this happened? The most obvious reason is that the Internet lets applicants spam out their resumés. Employers get huge numbers of applications for any opening they publicize, and managers can’t plow through them all. HR people have to do it, and all they can really go by is checklists. But resumés that have every possible buzzword are usually phony, so the people who top the checklist screening aren’t qualified either (unless you go by yesterday’s Dilbert).
There may be other reasons for this approach. Companies don’t want to be sued for discrimination, and using a mechanical procedure can help to shield them. It wouldn’t surprise me if checklist reviewers are most careful about people who appear to be in groups that are in the best position to sue. If so, those who are ostensibly protected by anti-discrimination laws are hurt the most.
Job listings include very specific skills such as programming languages and frameworks, but the most important skills in software engineering are transferable to any body of code. These include sound design practices; good use of paradigms such as OOP, reusability, and testing; ability to explain and document; and factoring code intelligently. In addition, attitudes such as dedication and enthusiasm are important. No checklist lets anyone judge these qualifications.
The businesses that can win in this situation are the ones that look beyond buzzwords to find the people who will do the best job. There’s risk in doing it, but risk-takers usually beat cautious people. The applicants who can win are the ones who can find the businesses smart enough to do that.