Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Competency for perl

by chennaiite (Sexton)
on May 10, 2006 at 14:13 UTC ( #548467=perlquestion: print w/replies, xml ) Need Help??
chennaiite has asked for the wisdom of the Perl Monks concerning the following question:

Hi monks,

How can I judge the competency level for perl programmer/developer in the range 1 to 5.
For eg. first level may be elementary and final level may be the excellence.
What are the factors or the skills I can include in the range 1 to 5.
I will be more thankful if anybody provide some information to figure out the competency level.


Replies are listed 'Best First'.
Re: Competency for perl
by Corion (Pope) on May 10, 2006 at 14:27 UTC
Re: Competency for perl
by Asim (Hermit) on May 10, 2006 at 14:41 UTC

    That can be a huge task. In addition to the issues with understanding what drives programming (some combination of artistic bent and scientific discipline), there's the fact that the broad syntax and intriguing complexity of Perl makes it hard to see if someone is a good programmer overall in Perl.

    I emphasis "overall" because I recommend that, instead, you try to find out if a programmer is a good fit for your team. Oftentimes, you don't need the "superstar" programmer, but someone who writes steady, lean code that's well-commented and self-contained enough to work with other person's code on the team. that's something that "raw" programming talent won't show, but, to me, is more critical than if they can write Slashdot 5.0 in 2 days flat.

    Having said that, I just pulled my copy of Perl Medic from the shelves, recalling a piece in it. I highly recommend this book, in general, as it covers many Perl coding practices that get overlooked, are are signs of good/great programmers. Specifically, for your question, he mentions, on pg. 65-67, Tom Christiansen's somewhat-tongue-in-cheek Seven Levels of Perl Mastery, and then goes on to list 10 of his own, updated for things like using CPAN. If you really need "levels", get Perl Medic, and read Tom's list, as a starting point for your own considerations with regards to your team's needs.

    Does that help? without knowing more about what you're looking for, it's hard to say exactly what source of information will aid you in eval'ing programmers...

    ----Asim, known to some as Woodrow.

Re: Competency for perl
by spiritway (Vicar) on May 10, 2006 at 17:03 UTC

    This is a very difficult question. About the best you could hope for is to weed out the totally inept, and hope whoever's left is reasonably competent.

    The problem (IMNSHO) is that there hasn't yet been developed a consistent measure of code quality. Is it better for someone to crank out lots of workable code, or to write a few terse lines that get the job done? We might be tempted to choose the terse programmer, but perhaps the verbose one included code to check for inappropriate input; or (s)he wrote code that would be much easier to understand, debug, and maintain. What objective test could you use to decide a question such as this?

    As I see it, fluency in Perl is only part of the question. Another part is the ability to develop appropriate, efficient algorithms. Without this, the fluency will be wasted. They will express their unclear thinking in fine Perl idiom.

Re: Competency for perl
by TedPride (Priest) on May 10, 2006 at 22:11 UTC
    A good Perl programmer knows when and how to use the Perl modules that come with the standard installation, always uses strict and warnings (and where applicable, tainting), and sections his code into manageable blocks with defined inputs and outputs. This should be the minimum for anyone you are looking to hire. Of course, he'll also need to be familiar with Perl syntax (specifically, nested structures and references and so on), with all the material in perlfunc and perlvar, and with everything you'd learn in a standard Data Structures course.

    Outside of that, you'll probably also want someone who works in a standard coding / commenting format, and who knows at least one other programming language (C/C++ or PHP). But this isn't absolutely essential.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://548467]
Approved by Corion
[marto]: A bit late for cookies here :)

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2017-07-27 21:06 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (422 votes). Check out past polls.