Assessing your own Perl skill: everyone's an 8

Skud on 2007-06-19T01:51:43

My current workplace uses the following question as part of its recruitment process for Perl developers:

Q. How would you rate your Perl skill on a scale of 1 to 10?

When I first interviewed here, I told them I was a 7 on a worldwide scale including people like Larry Wall, but a 10 with regard to commercial Perl programmers in Australia. Having had a lot of exposure to the international Perl world, travelling to conferences and user groups, meeting some of the really big names and so forth, I think I've got a fairly reasonable view of my own skill level. Meanwhile, a surprising number of our applicants seem to rate themselves as an 8 (+- 1) with no further explanation or qualification.

Leaving aside how pointless a single integer rating is as a measure of expertise (and believe me, that conversation's happening elsewhere), I find myself wondering: what is a 10?

Here's what I came up with: "Has regularly contributed code to the Perl interpreter; has contributed at least 5 major CPAN modules with high CPAN ratings/CPANTS score/depended on by other major modules; has written well-regarded books and/or articles on Perl; has spoken at international conferences on Perl; has received grants from The Perl Foundation; can obtain personal reference from Larry Wall."

(Obviously Larry himself is 11 on this scale.)

On IRC, TonyC pointed out that most of the things I listed are irrelevant to my boss (for generic values of "my boss", I guess, since I don't think Tony's met him.) He's got a point. Most organisations looking to hire Perl people -- especially here in Australia -- aren't looking for Larry or Damian or MJD or a pumpking. They're just looking for competent commercial software developers.

Thing is, the more-or-less-average Perl people out there will be applying for these jobs ranking themselves as 8s against the pool of competent commercial software developers they've met in their previous jobs, while the enthusiastic, dedicated ones who've been exposed to the broader range and deeper depths of Perl through involvement in and contributions to the Perl community, and picked up skill and knowledge through it, will *also* be rating themselves as 8s -- or lower -- against a broader scale.

I'm not sure I have a point here, other than that getting people to assess their Perl skill on a range of 1-10 isn't going to get you any useful answers.


a bit high?

merlyn on 2007-06-19T02:58:01

  • Has regularly contributed code to the Perl interpreter: NO
  • has contributed at least 5 major CPAN modules with high CPAN ratings/CPANTS score/depended on by other major modules: NO
  • has written well-regarded books and/or articles on Perl: YES
  • has spoken at international conferences on Perl: YES
  • has received grants from The Perl Foundation: NO (contributions from stonehenge don't count - wrong direction)
  • can obtain personal reference from Larry Wall: YES
Hmm. Pretty high standards. Does anyone rate a 10 by that?

Re:a bit high?

Skud on 2007-06-19T03:15:17

I was thinking of Damian when I came up with the list, though I'm not 100% sure he gets every point. The Perl interpreter point is a bit of a dodgy one, now I come to think of it; perhaps I should rephrase with s/interpreter/core/ or something, since I'd include core modules or major documentation or test contributions. But it's all a bit silly anyway, I reckon.

Re:a bit high?

Alias on 2007-06-19T03:57:34

I reckon I probably got all of those except for for contributing to the interpreter, because I'm a Perl programmer, not a C programmer.

(A bit dubious on the reference from Larry, but I'm sure I could conive my way into one).

Unless you could adding YAML::Tiny to the core... gimme a few weeks for that on.

Re:a bit high?

chromatic on 2007-06-19T06:31:27

Looks like we're both 9s.

Time taken to fill out/process the questionaire

ddick on 2007-06-19T04:44:55

seems to be better spent walking in and giving asking direct perl questions. It seems like 95% of people whose resumes look good enuff to get to the interview are people who the interview ends for after about 10 minutes. Stops everyone wasting time wondering how to interpret the question and/or ansa. :)

A very rough alternative scale

Juerd on 2007-06-19T13:46:33

This one isn't actually based on skills, but on community ranking :)

11 - Is Larry Wall
10 - Has led a major Perl project (pugs, Perl 5 pumpking, parrot, ...) or subprojects (major patches)
9 - Has written well selling books
8 - Has contributed fixes to Perl itself or a few CPAN modules
7 - Has contributed bug reports to Perl itself or a few major CPAN modules
6 - Is known in the community for providing useful services, or answering newbie questions (IRC, Perl Monks, usenet, ...)
5 - Is very good at Perl, but doesn't really participate in community stuff
4 - Good at Perl, but no community stuff
3 - Bad programmer, but gets a few extra points for picking Perl instead of other languages :)
2 - Uses Perl because they had to in school
1 - Anyone who doesn't use Perl :)

If you are at multiple levels, feel free to pick any.

Celebrity, fanboys, and the workaday programmer

brian_d_foy on 2007-06-19T15:33:23

There are plenty of people who would score highly on your scale but whom I wouldn't hire as a Perl programmer. The quality of code and their ability to work with others has almost nothing to do with anything in that list.

Some people might even think that the list is artificially weighted to exclude the normal guy who's a good programmer, but isn't part of the cabal. The best workaday programmers I've run into aren't names that you'd recognize, and they don't idolize the Perl community. They just do good work then go home at the end of the work day.

The question is not as meaningless as you'd think

btilly on 2007-06-19T16:11:51

What you're missing is that there are lots of people who will rate themselves as unqualified 10s. Virtually without exception, you do not want to hire them.

split up the questions

perrin on 2007-06-19T21:30:14

If you're on the hiring side and you want to know more about people, you might try breaking it up into multiple questions. I would ask these:

  • How would you rate your coding skill in general?
  • How would you rate your depth of knowledge about Perl?
  • How would you rate your involvement with the Perl community?

Still a bit dodgy maybe, especially the first one. You really have to know what you're looking for. If you want a person who hash out requirements and talk to non-techies, you'll probably ask different things than if you want someone to make low-level optimizations to some tricky code.

Questions like this are really meant to be the jumping off point for a larger discussion, so a person who just says "8" is missing the opportunity.

Dunning-Kruger effect

pjf on 2007-06-22T06:25:10

This sounds like the Dunning-Kruger effect in action!

Put very simply, a knowledgable person is aware of just how much they don't know, and will under-estimate their ability compared to others. An ignorant person, on the other hand, will tend to over-estimate their skills.

The end result? Everyone rates themselves at 8/10.

Re:Dunning-Kruger effect

Skud on 2007-06-22T07:38:20

Yup, exactly. I waved the D-K study at $boss during our discussion of this at work.