views:

105

answers:

3

I was on a job interview few days ago and for the n-th time in the technical part I was given a detailed test with a set of .NET questions, some simple, some harder. After I had finished I thought about the reasons of doing this, because I don't really see the point. If I had to do something in my project that I already did't know, I would simply go to google and find an answer in about 10 minutes. Does it really matter if i know all these details if I know where to look and I can easily and quickly learn them? You may know all the tricks of the language but it doesn't mean that if you write your code it's clear, it's well-documented, easy to read, easily scaled, well designed. And almost noone checks it - I was asked to provide a sample code only ONCE and I've been to several interviews. It's not hard to learn the language, but it's hard to use it well and to solve problems effectively. And what about a will to learn, how easily you learn and all that stuff? Doesn't it matter more that the detailed knowledge of the technology?

So if there are people who interview, and I know there are, could anyone explain me why are the interviews designed this way? Is it the lack of time, lack of people who are willing to review the sample code or are there other reasons? Or (if your interview is more complex) what do you do to find out a bit more of candidate's programming skills than just the knowledge of the basics?

A: 

Asking questions for which you have precise and nicely packaged answers make the life of the interviewers a lot easier. It is rather rare to get an interview where you're asked about your problem solving abilities which is a lot harder to measure.

Otávio Décio
ok but I meant the technical part. if they're checking the programming test they've given me, why don't they check a piece of my code instead, or additionally?
agnieszka
Checking a piece of your code involves understanding the context for which it was created, and that may be considered a burden. When they ask you to write some code they already have the context in mind and they want to check how well your code fits, which is not necessarily a bad thing - after all you are expected to fit their environment and not the other way around.
Otávio Décio
+3  A: 

I have seen quite a few reasons for technical interviews that don't concentrate on the "important stuff."

  1. The initial interview is done by HR, and they don't know the technical stuff, so they need something a less technical or non-technical person can evaluate.

  2. The initial interview is done by a relatively less technical manager, so the same thing as above.

  3. It's done as a simple filter; many alleged programmers can't actually program at all. (There are some blog entries on this somewhere that I was reading the other day, but I can no longer dig them up. Perhaps someone can edit this point to point to one or two.)

  4. The development group wants to do more technical interviews, but HR process won't let them.

  5. The development group doesn't have their people with vast technical knowledge working on the interview process.

  6. The development group doesn't have any people with vast technical knowledge.

If you want an example of an interview process that I hope is technically informed, you can check out my company's interview process.

Curt Sampson
+1 preety good reasons
agnieszka
+1  A: 

If I had to do something in my project that I already did't know, I would simply go to google and find an answer in about 10 minutes.

That's a nice illusion, but the reality is that if everything in software development could be learned in 10 minutes by googling, nobody would pay us our salaries, they would just outsource it to bright Thirld World students with access to google.com. There are certain facts and ideas which take time to digest and separate the men from the boys. It makes sense to check if the person interviewed knows them.

I am all for writing code during the inverview, but I am also for asking questions which test candidate's knowledge.

quant_dev
it's not like this. I mean if you have the basis. You might have developed a website in ASP.NEt a while ago and you might not remember what you should do to allow debugging on this site. But you would perfectly know where to look for it and what you're looking for and solve the problem in minutes. And you wouldn't pass the test.
agnieszka
There are some things you really cannot learn in 5 minutes, but there are also hundreds of details that you can quickly find on msdn and you don't know it because you've never actually needed it.
agnieszka
There definitely are "certain facts and ideas which take time to digest and separate the men from the boys", but the syntax of a specific language is not one of them and I get the impression that that's the type of questions the OP is talking about. Knowing *why* to do X (and, for extra credit, when and why you shouldn't) is an excellent interview topic. Knowing the exact sequence of keys to press to carry it out, not so much.
Dave Sherohman
There are a lot of things that you can learn in just 10 minutes, but that's because they are just beyond what you already know. Most things require you to learn other things first, and if you have tens of layers of learning to do, you are up to several hours instead of ten minutes. :)
Guffa