Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Hello perloHolic(),

I am really looking for specifics such as a minimum amount of required knowledge in certain areas...

We may take it for granted that to be a professional Perl programmer you must, first and foremost, possess the attributes required of any professional programmer: an ability to identify, refine, and clarify a software specification; a basic grounding in data structures and algorithms; deductive/debugging skills; a capacity for self-directed learning; and an appreciation for that elusive quality we call “elegance.”

To be a professional Perl programmer, you should, of course, add fluency in Perl to your general skill set. This means being able to implement programming solutions in Perl, but that by itself is not enough. As Ed Post famously said, “The determined Real Programmer can write FORTRAN programs in any language.”1 When I first learned Perl, I wrote “Perl” scripts that were really C scripts in disguise. And that, by the way, is one of Perl’s great strengths: its TIMTOWTDI philosophy encourages learners to program in ways that are already familiar to them. In this way the learner finds he can be productive in Perl while still absorbing the more Perlish idioms. But a professional Perl programmer should be fully-conversant with Perl’s strengths, and should demonstrate this by writing elegantly “Perlish” programs. At a minimum, I would expect a professional Perl programmer to demonstrate these Perl-specific skills:

  1. use of statement modifiers together with the $_ variable to write concise code
  2. facility with map, grep, split, substr, and splice
  3. understanding of context
  4. facility with regular expressions
  5. dereferencing, construction of complex data structures, and understanding of autovivification
  6. use of hashes to perform common list-related tasks2
  7. facility with core pragmas and modules: autodie, Benchmark, bignum, Data::Dumper, Test::More, etc., etc.
  8. familiarity with sources of online reference: perldoc, , MetaCPAN (and of course bonus points for using the Monastery’s Super Search!)

But...

Job interviews aren’t always what they’re cracked up to be. At a company where I worked, management interviewed, then hired, a programmer who described himself as one of the top half-dozen C++ programmers in the world. He was later observed reading C++ for Dummies, and when he was eventually fired (surprise!), it was found that none of the code he had written even compiled.

At that same company, an Irish backpacker applied for a casual job as a junior programmer. She was given a C programming test — and she got every question wrong. But she was young and attractive, and the interviewer was a red-blooded Aussie bloke, so she got the job anyway. And proved to be an effective programmer and an asset to the company.

Go figure.

Anyway, hope some of that helps,

1 “Real Programmers Don’t Use Pascal” (1982. See wikiquote#Fortran.)
2 See e.g. “How can I remove duplicate elements from a list or array?” and “How can I tell whether a certain element is contained in a list or array?” in perlfaq4.

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,


In reply to Re: What 'should' a professional PERL programmer know? by Athanasius
in thread What 'should' a professional PERL programmer know? by perloHolic()

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (None)
    As of 2024-04-25 00:00 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found