I completed a telephone interview for a job we have posted. It's for a contract developer. The interview did not go well. The "developer" was not a developer, he/she was closely connected to software develpment, but was not performing programming duties. It was a waste of my time, the interviewee's time and the time spent by the head hunter.

What I'd like for potential contractors to know is that I am going to interview you - hard. You need to know C# or C++ (depending on the posting).

  • I'm going to ask you stuff like "what is the separator character between for loop elements?" It's easy for a developer, but someone that isn't coding full time will hesitate and waffle every time between a "," or a ";" character.
  • What is the increment and decrement operator for an integer?
  • What's the default property for a text box in .Net 2.0? (There isn't one.)
  • Can you format a floating point number in a string for presentation? (Never worked with floating point or decimal numbers? Hmmm...)
  • What does the EnterpriseServices class/namespace do?
  • How do you declare a list?
  • What's the easiest way to store name value pairs where the value is a number or object, not a string?
  • How do you raise x to the power of y in c++? C#? (Nothing destroys credibility faster than writing a formula containing a term x2 or xy and have a programmer ask what it means.)
  • How do you declare a two dimensional array of double? How do you address the elements?
  • How do you pass a multidimensional array to a method?
  • When do you need to pass an object as a ref? (Yes, I know c# defaults to reference for objects, but what if the called method is written in another language?)
  • When would you use a using keyword in C#?
  • When would you use "[" and "]" (square brackets) in you code code? (This one always gets the person that is not really coding. It is usually a very accurate differentiator.)
  • When would you use "{" and "}" (curly brackets) in code code?

These questions are not hard or specialized. But you would be amazed at how many people balk at direct questions about the C# langauge. I'm not talking about esoteric libraries, I'm talking about stuff you need to do on a regular basis as a coder. Needless to say, if you are going to advertise yourself as a coder, then know the languages well. We can handle differences between desktop and web developers, VB and C# developers. What we cannot handle is a candidate that really knows VB but is advertising that they are a C# programmer. Be honest. Don't load up your resume with stuff like COM+ and DCOM and then tell us it's been five years since you last worked with it and you cannot answer any questions.

I'll get off my soap box now. Have a good weekend.