Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a non-technical recruiter and I want to lay out some initial interview questions, one of which is to determine the analytic skill of a person. We will soon launch our hiring process for programmers and we are mapping out what would be the best questions. I have read quite a few posts here that suggested on how to interview programmers but I haven't come across on what technical question to ask that non-technical recruiters can easily comprehend if the answer is good or bad.

share|improve this question

closed as not constructive by gnat, Bill, Caleb, Doc Brown, Jarrod Roberson Jun 22 '12 at 22:09

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

possible duplicate of What are effective interview questions? –  Caleb Jun 22 '12 at 21:14
"Based on currently available implementations of the C++11 standard, does the candidate have a 'knock em dead' handshake?" –  psr Jun 22 '12 at 22:04

7 Answers 7

what technical question to ask that non-technical recruiters can easily comprehend if the answer is good or bad.

Uh, none. Technical questions give technical answers, and if you're not a technical person, then you can't understand that technical answer and cannot rate it.

share|improve this answer

Example question that naturally comes to mind, is:

Find out whether this question is OK per Programmers FAQ and justify your evaluation.

share|improve this answer
+1 Nice to see I'm not the only one with a sense of humor today. –  GlenH7 Jun 22 '12 at 20:50
xkcd.com/917 –  Thomas Eding Jun 22 '12 at 21:01

Understanding analytical abilities by asking technical questions is not logical.

And your problem has been problem of profesional recruiters since dawn of enginering disciplines.

I would recomend reading : How would you move Mount Fuji

share|improve this answer
I would move it by singing a very moving and emotional song. –  Thomas Eding Jun 22 '12 at 20:37
@trinithis You mean, with the power of rock? –  Tacroy Jun 22 '12 at 21:52
I think that these practices are generally considered bad and no longer followed. –  DeadMG Jun 23 '12 at 13:30

The best question you could ask in your present situation is to ask your supervisor to try to fit a technical headhunter into the budget to get you a team lead or department head then let that person do the technical interviews for the remaining staff that reports to him.

share|improve this answer

I would say you shouldn't be asking these kinds of questions if you cant understand their field.

I am not sure there is such a thing as "analytic skill". I imagine you are thinking something like the Wikipedia definition

Analytical skill is the ability to visualize, articulate, and solve both complex and uncomplicated problems and concepts and make decisions that are sensible based on available information.

Now I am pretty good at making analytic decisions when it comes to code and programming. But if you were to ask me how to solve a problem that a political campaign is facing, I don't have the skill set needed to do that nor should you expect me to as a programmer.

I would argue that you cant just teach analytical skills in general, or maybe you can but it does not make a good programmer. You learn how to solve problems by solving other similar problems and you should not in general expect problems in one field to generalize to another. They sometimes do, but who cares? You want someone who is good at solving analytical problems in the field of programming. To find out if they are good at this you should ask analytical problems from the field of programming.

share|improve this answer

The ability to analyse a problem is only one of the attributes you should be looking for; I would argue its not exclusively a technical skill either since anybody working on a project needs the ability to understand the requirements and expectations which they are working towards, whether they are a development engineer, project manager, QA tester or systems analyst.

Also, I believe that there's no point in asking a candidate a question that you yourself would be able to provide a good answer to, given the same question. For example, showing the candidate a short software specification containing requirements for a very simple problem, what features do they think would need to be developed and how would they solve the problem?

Programmers, just like those from other professions ideally would have a range of skills - including (but not limited to)

  • The ability to learn and research; I would quiz any potential candidate on whether they thought that they needed to keep improving themselves, and whether they expect to learn new/unfamiliar technologies as part of their job, or gain extra depth in technologies they've used before.
  • Communication skills an absolute essential; programmers with poor communication/personal skills are often extremely difficult to work with, and can end up having a detrimental effect on everything they touch and everyone around them. The best programmers I've ever worked with always had very good 'people' skills
  • Technical knowledge - Only a technical person can really gauge someone else's technical ability. Someone who has very little knowledge could very easily reel off all kinds of impressive buzzwords and other "fluff" which makes them sound as if they know what they're talking about; a technical interviewer will be able to nail down very specific technical questions and probe the extent of a candidate's knowledge. If you do not have a technical person on your interview panel, then you really can't conduct any kind of useful interviews with a technical person in my opinion (Also, technical people expect to be assessed for their ability - the good ones will likely be suspicious of you as a potential employer if they go to an interview and do not have their skills probed)
  • Problem solving skills - Anyone with a few months training can knock together a bit of code; but when it goes wrong, or they get stuck, you don't want someone who sits there helplessly staring into space or wasting hours of everyone else's time because they lack the basic ability (or willingness) to study a problem until they discover the cause
  • Real world experience - Again, someone else technical who already has that real world experience will be best placed to ask probing questions such as "Which projects have you worked on and what did you do?" - as a technical interviewer, I would expect to be able to relate to the candidate's own experiences; problems they've been asked to solve in the past, their opinions on Software Development processes used by their previous employers, the kinds of challenges they've faced, what relevant things they do in their spare time, etc.
  • Knowledge of "best practices" - Again, something else which a technical person would be best to quiz the candidate on; how well do they understand software engineering principles? what do they feel about unit-test driven development? it would be fairly easy for an inexperienced candidate to baffle a nontechnical interviewer with a few buzzwords on subjects they know nothing about; a technical person would likely see through that.

(Of course, the list depends on the role you're trying to fill. you probably wouldn't get much from a fresh graduate, but you'd expect it all for a senior engineer)

share|improve this answer

You can easily tell a good musician from a bad one even if you never played an instrument. Unfortunately, programming computers is not like playing music: faking a decent answer is all too easy when you have a non-technical listener on the other end, and candidates can tell that within a minute or two. I've seen candidates who are incredibly good at that game, BS-ing their way into six-figure jobs, past several technical interviewers, at companies that pride themselves on the quality of their people. You do not want that to happen to your company, so technical interviews are best left to technical interviewers.

Fortunately, you are not limited to technical questions when judging someone's analytical skills: after all, ETS, the company behind GRE and other standard tests, has been doing it for decades, and got quite good at it. Look at their sample questions from the internet, and see if you could use them as an inspiration to build your own set of questions.

You can also see how candidates solve puzzles (e.g. matchstick puzzles): they are easy for non-technical people to judge, and they serve as a decent indicator of one's analytical skills.

Note, however, that this approach would not help you to a definitive answer: it will let you trim down the field considerably, but it's no substitute for a good technical interview with someone who has been programming for a while.

share|improve this answer

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