• We've recently hit a similar snag in trying to see if candidates are a good fit or not. It's one thing to go through the interview and get good answers, but a completely different thing to have these same people sit down and do actual work. We came up with a test to get a feel for what candidates can do and how they respond when they encounter problems. We cover some pretty basic tasks and use the MS toolset (to address Mike's concern). We ask them to write a simple Select statement and then a select w/ Aggregate functions. We ask them to troubleshoot a poorly performing query (and to rewrite it or at least make suggestions on how to improve it). We ask them to use SSIS to do a basic Fact table load. We then have a variety of other questions from which to choose a small number to complete. We give them more than enough time to finish enough of the tasks for us to judge their skill-level. They are given a full copy of BOL to reference while taking the test.

    This wouldn't have been a problem a couple of years ago, but we needed someone who could come in and actually start working. Too many candidates seemed to have mostly manager experience or no experience. This let us see who could start off by helping us with a relatively short ramp-up time.

    We went through several revisions to get to a relatively final version of the test and had to give some pretty heavy hints about the table structures and column locations for the first parts to help people past their unfamiliarity with the data model. However, I think we now have something that can give us a pretty good idea about a candidate's skill level and it could be given as a "take at home" test as needed.

    Our developers do something like this already. The candidates are given a simple web service to write at home and submit. A lot of candidates don't bother to submit their work, but those who submit something will have their code reviewed to see if it's worth proceeding. The code doesn't have to be perfect, but it should work and more experienced developers are expected to produce something more polished than those just starting out.

    I think testing has a lot of value in certain areas. If you're looking for a really junior person, this may not apply. If you need to know if someone can do the work, an eval is really helpful. I'd hate to have been Andy, though. My abilities definitely lean more toward writing T-SQL than Admin type work. I'm sure I could have figured it out, but my first reaction would probably have been to tell Brian that his DB was corrupt and ask if he had a backup. 🙂