In my previous post about interview flubs, Jon dinged me in the comments for posting something that is too obvious. As he put it, "who DOESN'T know these?". Well, Jon, apparently a lot of people don't. I have been amazed at the things I have seen in my short stint as the lead interviewer for developers. (I alluded to this earlier, and last month it was finally made official that I am now the Software Engineering Manager.) One of the things that I have seen which I find really shocking is how much people misrepresent their skills. Oh sure, not everyone is intentionally lying. Maybe the problem is that they do a poor job of self-assessment. But if you're going to go apply for a job, you better get a grip on where you stand in your area of expertise.
Specifically, what I'm talking about here is the fact that in my phone screening I would ask people to rate themselves on a scale of 1-10 in several areas. When somebody rates himself a 7 or 8 in SQL Server, then I expect them to be able to fly through the specific technical questions we ask with no difficulty. We are not Microsoft, we are not conducting marathon interviews asking you to design on-the-fly solutions to real-life core business challenges, these are not difficult questions...certainly not if you rate yourself a 7 or 8 on a scale of 10. Yet time and again, I find people cannot explain to me what, if any, benefits they see to using Stored Procedures over in-line code. They struggle to explain the priciples of 3rd Normal Form, and we are not asking for the textbook definition, just give me the impression that you have a basic understanding of the concepts. We give them a basic problem with a subquery and ask them to rewrite it without the subquery. This is the classic example of using a JOIN and they miss it. We describe another classic example of when you would use a CASE statement, hoping that they can come up with that, yet they don't. I ask them their general impression of cursors and they have never heard of them! And they have the gall to tell me they are a 7 or 8?! Come on, get real! I'm not asking for you to explain the inner workings of transactional replication or to setup a Read80 Trace.
On the bright side, our simple questions are doing the job they were designed to do, which is to weed out the posers. I'm just astonished at how many of them there are. So here's my tip...Be honest with yourself and with the interviewer. I had a guy who was very honest with me that his SQL skills were not very strong but he was strong in .NET which was an additional skill set we were seeking. I really appreciated his honesty. I tailored the questions I asked based on that information and we had a great interview. I knew what to expect from him and he was right on. We were about to offer him a position because we knew what he could do and he had been completely honest with us, but unfortunately somebody beat us to it. But I'll tell you this, if I ever see his name come up again, I would not hesitate to give him another shot. That is quite unlike many of the others I have interviewed, who have no chance of working for us. And anyone else I know who is doing interviews, I would recommend they be sure to ask the detailed questions of those candidates so they know what they are getting.