>
automated testingI love how they non-chalantly squeezed "automated testing" in there... because to really do well in that area you need so much more than the average handful of junit-or-whathaveyou tests and the whole "comes up with good test cases" is just extremely shallow. While developers do well to implement some simple unit tests, automated testing includes SO MUCH more they just left out. It is a whole software project and includes a lot more people than just "programmers" and "testers".
Another personal pet-peeve of mine are those endless suggestions of how to pick and hire developers, how can you get the very best of the best for the likely average salary you are offering to begin with - yet we have a continuous stream of coding-related horror stories.
It doesn't take any magic, it doesn't even take a catalog of weird questions that might work for google. Ideally go with recommendations, people who know people that are good. Or pick the interesting CVs and cover letters, avoid the buzzword rally. Then interview them and talk about what they have done so far and go into some details there, scratch on the surface, get a feeling for what they got going on. By now you should have quite a good idea. Then hire them on a temporary contract and see how they do. Be ready to give the new-comers and graduates a chance and be ready to invest in them, both in trainings and compensation.
IF you are in a position where you just cannot afford to put good faith in a common sense choice for a candidate then you should not be hiring in the first place because that means you either don't have the money for one more hungry mouth anyway or your project is so far into the death-march that another pair of hands is not going to rescue the sinking ship even if you get a true kernel-hacker to work on it.