I imagine Kernighan, Ritchie, or Dijkstra talking to an HR drone. They say, "I see from your resume you have a lot of experience with C and C++, but we're really looking for someone with more recent $MAGIC_KEYWORD experience."
The legend laughs, says "thank you," and then hangs up the phone. Meanwhile, everyone behind the HR firewall that has actually earned a CS degree is blissfully unaware of the sheer magnitude of idiocy that one sentence represents.
The image is hyperbole, but that is a fraction of what you might be doing when you focus on specific experience rather than aptitude and adaptability. What you are looking for is someone who can solve complex problems by reducing them to smaller sub-problems that can be automated. Anyone with a knowledge of how computers operate can use any higher-level language to perform the actual automation. Focusing on candidates who already advertise specific skill keywords will save you, at most, a few days, as the new hire acclimates to new syntax and keywords.
If your business involves spatial positioning, for instance, it is far more useful to learn whether the candidate knows the difference between 4x4 matrices and quaternions, or between geodesic and geodetic coordinates, than it is to know whether they can describe the math in Lisp or C# or Javascript or reverse polish notation.
Your initial bozo filter should undoubtedly be a simple trapdoor function that takes candidates several minutes to solve, but takes you (or a less qualified underling) only seconds to verify. Then, if they pass it, make a more concerted effort to determine whether the developer is a match for your team's development style, without resorting to keyword-based prejudices, or relying upon people with little or no technical capacity to filter your candidates.
Unfortunately, it's not. I recently heard about a conversation DHH had with a recruiter, who asked him how many years of experience he had with RoR. His answer: "all of it."
The legend laughs, says "thank you," and then hangs up the phone. Meanwhile, everyone behind the HR firewall that has actually earned a CS degree is blissfully unaware of the sheer magnitude of idiocy that one sentence represents.
The image is hyperbole, but that is a fraction of what you might be doing when you focus on specific experience rather than aptitude and adaptability. What you are looking for is someone who can solve complex problems by reducing them to smaller sub-problems that can be automated. Anyone with a knowledge of how computers operate can use any higher-level language to perform the actual automation. Focusing on candidates who already advertise specific skill keywords will save you, at most, a few days, as the new hire acclimates to new syntax and keywords.
If your business involves spatial positioning, for instance, it is far more useful to learn whether the candidate knows the difference between 4x4 matrices and quaternions, or between geodesic and geodetic coordinates, than it is to know whether they can describe the math in Lisp or C# or Javascript or reverse polish notation.
Your initial bozo filter should undoubtedly be a simple trapdoor function that takes candidates several minutes to solve, but takes you (or a less qualified underling) only seconds to verify. Then, if they pass it, make a more concerted effort to determine whether the developer is a match for your team's development style, without resorting to keyword-based prejudices, or relying upon people with little or no technical capacity to filter your candidates.