What essential questions do you have to know the answer for, about a prospective software development candidate, before hiring him/her?

I'm not seeking specific interview problems (e.g. sort this 3D array of numbers in O(1) complexity), but simply for things you need to find about, for yourself, about a new hire. (e.g. which source control systems / languages / frameworks / OS has he used?)

Cross-posted to Quora

closed as off topic by yannis, Oded, Jonathan Khoo, Jalayn, gnat Feb 7 '12 at 11:27

Questions on Software Engineering Stack Exchange are expected to relate to software engineering within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    I guessed this would be closed here. Sad. This is why the preemptive cross-post to Quora. – ripper234 Feb 7 '12 at 10:21
  • 3
    How is this (as stated) a problem unique to software development? – ChrisF Feb 7 '12 at 10:30
  • 1
    @ChrisF - it's implicit that the candidate is being hired for a programmer job. Do you think I should add this explicitly in the question? – ripper234 Feb 7 '12 at 11:18
  • 1
    @ChrisF - Well, I'm never sure about Programmers SE, and how it stands about list questions. I always thought they "more acceptable here", but I guess that might not be the case. As it stands, with the swift downvotes (instead of edits) and closure, I don't see the reason to bother editing it myself simply to add "programmers". No offence, just practicality. – ripper234 Feb 7 '12 at 11:52
  • 1
    @ChrisF - I'm not sure how to edit the question in a way that would be on topic here. Do you have a suggestion? I know closing is not the end of the line ... but I sense a sentiment, and I don't know how to fix my question. – ripper234 Feb 7 '12 at 12:03

I would list the following areas which are a must before recruiting a candidate.

  1. Attitude to learn: During the course of the interview, you can assess the candidates’ attitude to learn new things with case based analysis.

  2. Passion for Programming: When the developer has passion for his work, his ability to bring out quality code is greater and he would be a great value edition once he adapts to your project.

  3. Practical Knowledge: If the developer is experienced, they must have more practical knowledge in solving problems than theoretical knowledge.

Good luck.


you have to know if he has project experience in the field that you are hiring right now ; ) you also have to know if he is open to learning new things, and see that if he is excited about what you do. To understand this, you have to make him ask you about the stuff you are working on.

  • I'm aiming my questions at things that are knowable after an interview ... more like stuff you don't test for, but just ask or review his resume. It's good to know what his experience is and whether he's excited, but it's not always good to know for sure. Candidates often fake these. I'm looking for unfakeable hard facts - you either know git, or you don't, and it's usually easy to test for this. – ripper234 Feb 7 '12 at 10:21

A degree is in my view quite unmistakeable. That shows that a candidate can finish something hard and persevere. In addition, you could give his references a ring, although they might be biased...

Not the answer you're looking for? Browse other questions tagged or ask your own question.