Interview tips for developers

The other day I was present in an interview for a lead software developer position that my company was offering. I was asked to sit in to ask the potential candidate technical questions. Unfortunately the interview did not go at all well for the candidate. This was partly because the interviewee didn’t have a detailed understanding of the technology required for the position, but a lot went into discrediting the interviewee because of the way in which they portrayed a non-professional attitude.

During my time as a professional software engineer I have been on both sides of the interview table. I have interviewed as a candidate with a number of small, medium and large organizations (Microsoft included) and also chaired a number of technical interviews for the companies that I have been employed with. In each and every case the process is essentially the same.

So, you’ve managed to find a job match on and now it’s time to interview with the employer. Here are some tips:

Appearance and Behavior.

  • Always wear a suit, wear a shirt, tie and smart pants/trousers if you have no suit.
  • Never use the word “dude“ or friendly term when referring to the person that is interviewing you.
  • Only use the interviewers first name if they ask it of you, otherwise use “Mr X, Ms X, Miss X“.
  • Always be on time or early for an interview, if you’re concerned about traffic then leave home earlier.
  • Only answer questions that are asked of you and only elaborate an answer if required to portray a good understanding of the question.
  • If you don’t know the answer to a question, say so, never try to guess.
  • Retain composure and a professional image at all times.
  • No matter how good or bad the interview goes, always follow up with an email thanking the interviewer for their time.

Know your subject.

  • Be prepared to discuss anything on your resume, many questions asked of you will be derived from something you stated on your resume. Get help on the Resume Atelier website.
  • Stick to the facts on any one subject, never guess, assume the interviewer knows more than you do.
  • Don’t just use buzz-words, backup any terminology with definition, understanding and some context in how you may have used a certain technology.
  • Before your interview find out what the company does, be prepared to show your knowledge and background research.

.NET Developers.

If you’re applying for a .NET job you should be able to demonstrate proficiency in most if not all of the following:

  • Object Orientation – Inheritance, encapsulation and polymorphism.
  • Language understanding – C#,, concept of IL, CLR, CLT, and CLS, Attributes and Reflection.
  • ASP.NET – Caching, Session State, View State, Custom Controls, Web Forms and Web Services.
  • ADO.NET – Dataset, Datareader, Datatable, etc. OleDbConnection and SQLConnection. Concurrency.
  • Win Forms – Handling events, Custom Controls, Custom Dialogs.
  • Serialization – XML formatters and Binary formatters.
  • XML, XSLT, XMLReader/XMLWriter, XSD, XPath.
  • COM and Interop (Enterprise Services).
  • Remoting.

Knowing about the various programming languages and developer constructs is only half of what is needed to impress an interviewer. If you follow the tips above you’ll go along way to securing a good developer position and avoiding any unnecessary embarrassment.