We are hiring for a small development department within a medium sized company for which software is not the main line of business. As such, we are attempting to recruit what we have labeled a Senior Programmer. The goal is to find someone that can design, implement and maintain entire new and existing systems from the database through to the front-end.

Regardless of a candidates claim to experience (read: massively spun CVs), or the results of the technical test, what I really care about is their ability to learn and the speed at which they will pick up technologies or concepts they are not familiar with to fill any gaps they might have in their knowledge.

How can I go about getting an idea as to a candidates ability to (or speed of) learning?

  • 1
    What's wrong with asking them? Either they have examples of what they've learned. Or they don't. Why wouldn't a conversation tell you what you needed to know?
    – S.Lott
    Jan 13, 2012 at 0:34
  • 2
    @S.Lott - Sometimes candidates engage in a practice called "lying".
    – psr
    Jan 13, 2012 at 0:47
  • I'd ask his/her old employer. But in general, if knows the skills, it's enough. Perhaps you can quiz them using scenarios that pop up Jan 13, 2012 at 0:50
  • 5
    Easy: Try to teach them something. Give them a tough problem that requires a hefty amount of knowledge to solve. If you find someone who makes it a point to ask meaningful questions and makes good progress towards solving the problem, then bingo!
    – riwalk
    Jan 13, 2012 at 0:58
  • 2
    @stargazer, you should add that as an answer. Jan 13, 2012 at 2:55

6 Answers 6


Explain to them a semi-complex business concept and then ask them to model it. This will give you information both about their problem-solving skills and their ability to learn.

Also, ask them about recent technologies they've learned, how they've gone about learning them, how they've made sure that what they're learning is best practice (for want of a better phrase), and how they've applied what they've learned.

Those kind of open-ended questions should be followed by discussions, they don't have right and wrong answers, but they should give you a lot of information by the time the conversation is over.


Do a normal interview, but instead of noting all his/her skills, note every question (s)he failed. Give her/him a computer with internet and ask him/her to resolve problems that involve every subject (s)he failed at the interview. Example: if (s)he told you (s)he does't know generics, give her/him a problem that involve them.

Judge the candidates on the results AND time spent.

Give it enough time and don't stop her/him to avoid ceiling effect.

To make it relevant, do it with at least 5 candidates.

  • Excellent suggestion. I'd even go further: give them a workstation with internet access and ask them to implement a trivial algorithm (bubble sort, something dumb and easy) in an esoteric language they didn't mention in their resume or interview. Ask a Java maven to use Haskell, or a Rubyist to use Scala. A good programmer should only need Google and a couple of hours to implement a trivial algorithm in nearly any language. Jan 14, 2012 at 18:49
  • Agree with @JasonLewis, simple search can give them full solution.
    – IsmailS
    Aug 27, 2014 at 5:28
  • I had typed your name as @JSON initially ;) . Only when I didn't got intellisense I realized that I've typed wrongly.
    – IsmailS
    Aug 27, 2014 at 5:39

Try to evaluate how big is the knowledge gap between diploma and first job, then between both and next job, and so on.

Then try to evaluate how successful were successive jobs.

Ask questions about how difficult it was each time to climb the learning curve.


References, references, references.

You can't test for ability to learn in an interview, but it should be implied or explicit in a resume/CV. A good hiring manager will always contact references, supplied or otherwise, to confirm the points that are important to them, and to offer an open-ended discussion opportunity. If learning is important to you, request references that can speak about that. And don't forget to ask yourself if the reference has a good reason to be able to answer.

Lastly, if you think a candidate and/or their references are lying, shred their resume, burn the shreds, put the ashes in a box, lock it with a strong chain, put an anchor on it, and heave it into the deepest body of water you can find. Life is too short to have liars working for you, and anyone whose references are lying is tarred by association (and rightly so).


A detailed conversation would be the best approach. I'd recommend telling them something about the work you want them to do, like a new app, and have them describe how they would implement it. You could also give an overview of a current app you have and ask them how they might have gone about implementing it.

Another way is to ask them about particular projects they've worked on previously and how they did them. Look for ways that app might relate to the work you want them to do. For example, if you want them to implement a web service, ask them about how they implemented that web service mentioned on their resume. Ask why they picked pattern A over pattern B. Get them talking. They should love to tell you about their projects and be able to explain them in depth.

Unless they're particularly skillful liars, you should find out where they're at.


I can only tell you what was done to me once:

I was given a project in a language with libraries I have not done before and I had to complete it within a week. This will tell you exactly how quickly and how well the person can learn.

  • 5
    In what other industry could you get away with that? Could you ask an author to write a novella, in French, before paying them a dime? Could you ask an architect to sketch out a plan, using an obscure and arcane system of measures, on the off-chance of a job?
    – pdr
    Jan 13, 2012 at 3:46
  • No but a small problem in unfamiliar language with unfamiliar libraries that should take "Senior Software developer" about or less then a week to do might. We are not talking about architects or authors but software developers you have problem that you already have a solution for that you want them to do in a different way.
    – Karlson
    Jan 13, 2012 at 14:25
  • @pdr As a matter of fact I might ask an architect to design a kitchen within bounds of some oddball space.
    – Karlson
    Jan 13, 2012 at 14:38
  • 2
    I suspect you might reduce your pool of candidates to the very desperate.
    – pdr
    Jan 13, 2012 at 14:44
  • 2
    For an architect? I seriously doubt that any (non-software) architect, who wasn't desperate for a job, would take a job from you after you told them to give up a week of their spare time, at zero pay, for the possibility of a job.
    – pdr
    Jan 13, 2012 at 16:55

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