1. Candidate: Show up dressed properly.
You would think this would be fairly straight forward, but some people still think that jeans are appropriate. This isn't even ok for an interview at McDonald's, much less a development position. For the McDonald's job, at least put khakis and a polo on when you hand in the resume. The developer position is a suit.
2. Candidate: Bring extra resumes
This was one of the things I remember being taught when prepping for interviews. Odds are, the interviewers will have copies, but don't play the odds. The house always wins. You should always have a pad of paper, pen, and resumes with you at an interiew.
3. Candidate: Bring Show and Tell
This isn't required, but talk about scoring bonus points. I recently had a candidate bring just screenshots into an interview. It definitely left an impression with the team. It doesn't take long to print off something you've done that won't compromise your current employer. Walking the interviewer through the code is far better than code puzzles. Plus, then you're in control and can gauge the knowledge of your potential employer.
4. Interviewer: Avoid definition questions
I ranted a bit about this in my last post, but I'll recap here. It barely, if at all, gives you an understanding of the candidate's technical ability. At best, you learn that they have great memorization skills.
5. Candidate: Be prepared for definition questions.
Despite #4, odds are it's probably going to happen. Make use of those memorization skills and brush up on things like: Encapsulation, Inheritance, Polymorphism, delegates, Response.Redirect vs. Server.Transfer, etc.
6. Interviewer: Don't ask questions you can't answer yourself.
This probably doesn't happen a lot, but I've still heard of it enough to list it. If you're not experienced in the role that your hiring, that's fine, but don't try to pull some obscure question off the internet and expect a verbatim response to what you read. It's not fair to the candidate and you'll likely lose at least one good one because of the false negative response.
7. Interviewer: Provide an IDE for technical questions.
If you want them to code, spin up a virtual machine with Visual Studio, Eclipse, etc. and allow the candidate to have tools at their disposal. If all you supply is a whiteboard, you'll make the candidate look worse. Intellisense is a huge tool for many developers and can replace Google in many cases, but dot operators don't expand an option box on the whiteboard. I get that you want someone who knows what they're doing, but odds are, you probably rely on your IDE's features, too.
8. Candidate: Eye contact is good.
This is harder than it seems. When you need to think, people tend to look up, down, anywhere else except the person they're addressing. I get that and it doesn't really bother me. However, there's two catches.
First, this is only ok when you're thinking or formulating an answer. When you give the answer, make eye contact.
Second, eyes are two, little, typically horizontally-aligned round-ish orbs on the northern-most section of a person's body. I say this because, while the stereotype for software developers are pimply, overweight, socially-inept men, that's not the case. If you're looking/staring/leering at other parts of your prospective employer, they'll know. Be respectful...not a creeper.
9. Interviewer: Introduce the team and their roles
I don't know how many times I've been the candidate and all I get are the interviewers' names. Remember, this is a mutual agreement. If the candidate doesn't know enough about you, they may not accept. I find that doing this up front not only takes care of this, but also can serve as a bit of an ice breaker for the applicant, as well.
10. Candidate: Be honest, but not self-deprecating
If you're not a jQuery expert, that's fine. Be honest about it. In many languages/technologies, rating yourself any higher than 8 out of 10 is going to draw a "Yeah, right!" face from the interviewer. Some will even be sadistic enough to prove your inability as humiliatingly as possible. Typically, this will probably mean the interviewer isn't following rule #6 above, but that's not the point if you can't even get close.
That being said, saying that you're not strong on multiple things can hurt you. Especially if their absolute must-have's for the position. This doesn't have to be languages/technologies either. Even though you may be joking to relax, by saying that "Writing isn't my strong suit" or "Typing isn't my strong suit" repeatedly throughout the interview will probably hurt your chances of landing the job.
11. Candidate: Have a life but don't focus on it
If you're asked about what you do to relieve stress or do for fun, it's perfectly acceptable to say that your hobbies include blindfolded, underwater basket-weaving and writing a Swahili-to-Huttese dictionary, but don't explain them in detail if the interviewer doesn't ask.
While I don't speak Swahili or Huttese, I'm a huge fan of Star Wars, as you can see from my light-saber tattoos for eyebrows. I figured that I'd be doing the Swahili speaking world a huge favor if Jabba ever comes to Earth trying to find his kidnapped relative. While he obviously understands English, it would be nice if John Q. Swahili Speaker could understand that Jabba's about to drop him into the Rancor pit.
Interviewer: Swahili-to-Huttese dictionary? Do you speak either language? Why would you want to write that?
12. Interviewer: Sell your company
Explain to the candidate why they would want to work with/for you. Why is XYZ Co. THE place to work at? That's what the candidate should know and shouldn't need to ask.