Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Dear Monks,
I need ur help in this. I am inteviewing tow ppl as perl developers next week. What type of questions should I ask ? Does anyone have a link to a site or somthing? I my self a begginer in perl so not sure if I will be able to see if they are the right ppl. I am looking for Sr Develpers. thanks in advance
20050403 Janitored by Corion: Changed CODE tags to P tags
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Interview Questions
by graff (Chancellor) on Apr 03, 2005 at 02:58 UTC | |
If your own knowledge of Perl is limited, then I'm not sure that any advice we can give would be helpful. When you look at perl code posted here (or written by others at your workplace), are you able to understand it? You can ask the applicants to show you samples of their code, and even to explain it to you as you go over it, but if you don't understand references, data structures (AoH, HoA, etc), "map", anonymous arrays/hashes/subroutines, and so on, then you'll be better off focusing the interview on things like communication skills, domain familiarity, years of work experience, and general "compatability" factors (i.e. how much you like the person). There may be a things that probably are reliable indicators, which I'll list in order of greater to lesser generality. If two different people show you sample code: If any of that goes over your head, then it's like I said above: it's hard to tell you how to assess a programmer's skill level if you're not a programmer. | [reply] |
by cog (Parson) on Apr 03, 2005 at 19:21 UTC | |
I disagree. That varies from country to country, from place to place. How many Portuguese people do you see here on perlmonks? Four? Five? And yet, I can point you to dozens of competent Perl programmers just in the vicinity of where I now work. Just because they don't have a very active part in the community doesn't make them less competent. | [reply] |
|
Re: Interview Questions
by tlm (Prior) on Apr 03, 2005 at 02:19 UTC | |
Where I work we have tried various approaches, including informally asking the applicant various questions that demonstrate how well they know Perl, and written tests, but was has given us the best results is to ask the applicant to solve a simple programming task related to our field of work, something that could be completed by a competent programmer within say 45 minutes; this way we can simultaneously test both proficiency with Perl and more general problem solving/design skills. Given that the number of applicants is not huge, we can afford to let the questions be pretty open-ended, since we are most interested in seeing how the person goes about completing a task. On the other hand, we do a lot of "tactical programming" where I work (by this I mean programs intended to perform a one-time analysis or data processing), which requires a somewhat different set of skills from those of a developer of full-blown software products. The problem is that this set of skills is more difficult to test on the spot (at least we haven't found a formula to do it). the lowliest monk | [reply] |
|
Re: Interview Questions
by HuckinFappy (Pilgrim) on Apr 03, 2005 at 03:46 UTC | |
I don't care too much about specific skills in this sort of a situation. What matters to me is that the interviewee actually knows perl, and that they have good problem solving skills. So I find a few basic questions can tell me that. I'm looking for error checking, the thought process on the last one that might lead them in the direction of a Schwatzian Transform, and some essential problem-solving skills. In fact, to me, "I'd need to read the perldoc on sorting to figure it out", or, "I'd have to check some documentation to remember if I need to 'use Exporter'", are perfectly good responses. | [reply] |
|
Re: Interview Questions
by dbwiz (Curate) on Apr 03, 2005 at 08:11 UTC | |
<OT> Update That aside, check dws home node for some specific advice, such as On Interviewing Candidates and An Interview Quandry. | [reply] |
| |
|
Re: Interview Questions
by tilly (Archbishop) on Apr 03, 2005 at 19:32 UTC | |
Therefore if you have anyone technical on board already, have them do a follow-up technical interview. If you don't, it may be worthwhile to hire someone external just to do a technical interview. If that is not feasible, ask for a code sample and have a technical person review it for you and give feedback. I'm serious. The problem that you're up against is that you can't tell when someone has technical skill. Compounding that problem is that there are lots of non-technical or semi-technical people out there who are good at bafflegab but you don't want. Conversely many technically competent people tend to be introverted and therefore do not present themselves very well even though they might be people that you really want. | [reply] |
|
Re: Interview Questions
by dreadpiratepeter (Priest) on Apr 03, 2005 at 17:11 UTC | |
| [reply] |
by merlyn (Sage) on Apr 03, 2005 at 17:31 UTC | |
the Schwartzian transformDo they get extra points for knowing there is a drink named the Schwartzian Transform? (Which, like the transform itself, wasn't named by me.) the difference between my, our, and localDo they get extra points for knowing the difference between "our" and "use vars"? closuresDo they extra points if they can demonstrate anonymous subs that aren't closures, or closures that aren't anonymous subs?
-- Randal L. Schwartz, Perl hacker
| [reply] [d/l] |
by cazz (Pilgrim) on Apr 04, 2005 at 19:07 UTC | |
(Yes merlyn, I know you know this... My coworker that just pointed out your message does not.) | [reply] [d/l] |
by Tanktalus (Canon) on Apr 03, 2005 at 17:54 UTC | |
Hmmm... I usually ask candidates to explain their past work, their roles in that work, what difficulties they've faced, how they've overcome it. But I've never interviewed for professional hires nor contractors - pretty much only students and new graduates (where working with us would be their first "real" job), and I am not restricted to perl (we use C/C++; Java; Perl; Bourne, Korn, and C shells, all depending on what we're doing), so what I'm looking for may be quite different from what the OP is looking for. | [reply] |
by tilly (Archbishop) on Apr 04, 2005 at 01:45 UTC | |
What you're saying pretty much applied for me as well back when I was learning, and I certainly wasn't ready then to do things like mentor other Perl developers. | [reply] |
by Tanktalus (Canon) on Apr 04, 2005 at 04:10 UTC | |
by tilly (Archbishop) on Apr 04, 2005 at 17:17 UTC | |
by Anonymous Monk on Apr 04, 2005 at 09:41 UTC | |
| [reply] |
|
Re: Interview Questions
by eXile (Priest) on Apr 03, 2005 at 17:01 UTC | |
| [reply] |
|
Re: Interview Questions
by jhourcle (Prior) on Apr 03, 2005 at 18:57 UTC | |
It would be impossible for us to know what it was that you need the developers to do. Although it would be ideal to hire people who specifically know more than you do, you may be able to find other people in your company with better ability in the specific skill areas that you desire for the person to have. (you do have to make sure that you know the personalities of the people that you bring in on an interview -- they may feel threatened by the person they're interviewing, and try to find nit-picking details so they don't lose their reputation as the 'best' in the organization. You also have to understand that there are times when someone's skill is so far beyond yours that what they say will be right, but you just can't understand it as being right). I would recommend that in any interview, as the person to explain the answers they give. There are those people who can do things, but have no idea why they're doing it, and there are those who can explain why they choose every last line of code. (it's one thing to use strict;, it's another thing to know why it's important). Those people who can explain what they're doing tend to have a better understanding of what they've done, and may be useful should you need them to mentor other programmers. Note -- This scenario is part of my reasoning for supporting voluntary licensing in the Trained Perl professional or self-taught hack? discussion. Anyway, as I've gotten off-message -- you may not need (or even want) someone who knows too much, as they may become bored in an environment that doesn't use their skills well. Unless you're under a tight development schedule, it may be better to have someone with a good reputation (references, whatever), and a personality that fits well with the people they'd be working with, even if it's necessary to send them to training on the skills they'd need. A test to determine a good employee for one company may not find the best employee for another company. | [reply] [d/l] |
|
Re: Interview Questions
by prostoalex (Scribe) on Apr 03, 2005 at 22:01 UTC | |
| [reply] |
|
Re: Interview Questions
by Anonymous Monk on Apr 04, 2005 at 09:50 UTC | |
What don't you like about XXX, and how would you change it?From the given answers, you should be able to deduce how well they know the language/OS/DB/application you are asking about, and how much experience they have. | [reply] |