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.

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?

share|improve this question
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 '12 at 0:34
2  
@S.Lott - Sometimes candidates engage in a practice called "lying". –  psr Jan 13 '12 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 –  Adel Jan 13 '12 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! –  Stargazer712 Jan 13 '12 at 0:58
2  
@stargazer, you should add that as an answer. –  Karl Bielefeldt Jan 13 '12 at 2:55
show 2 more comments

6 Answers

up vote 8 down vote accepted

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
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 '12 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 '12 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 '12 at 14:38
2  
I suspect you might reduce your pool of candidates to the very desperate. –  pdr Jan 13 '12 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 '12 at 16:55
show 2 more comments

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.

share|improve this answer
    
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. –  Jason Lewis Jan 14 '12 at 18:49
    
Just don't ask them to use Brainfuck or LOLCODE. That's just mean. :) –  Jason Lewis Jan 14 '12 at 18:50
add comment

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.

share|improve this answer
add comment

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).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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