While I am a big advocate of self-guided learning, the best self-learners tend to be the people who have already gone through a guided curriculum at a post-secondary (i.e., university) level. What is your education background?

Being a "beginner" at something is great: the world is wide open to you. But it can also be somewhat daunting; tough to find your footing when there are so many parts of the path in darkness. Perhaps I'm waxing eloquent a bit much, here, but my point is, asking for books to read, modules on CPAN, and tutorials, is likely to add to the "daunting" aspect without really narrowing down your options to dig in and start learning.

Find something that interests you--a small project you would like to complete (and one that you will complete well). Something you will be motivated to take from start to finish, regardless of how many obstacles you need to overcome along the way.

Then, treat it like any other development project: start with a solid plan. If you don't have the skills to plan an entire project, you will never graduate to "professional" level. Programming language is irrelevant if you don't have the core software development skills to back it up.

Finally, follow your plan, and make a well-developed piece of software. (Again, core skill, here: you need the ability to honestly assess whether you have actually hit that mark.) It's one thing to Google enough examples and tutorials and references to hack up a 200-line script to balance your bank account, but it's quite another to have that same piece of code be a polished, publishable work that would stand up to review by other professionals. Yes, at this stage, you won't know enough Perl to code at that level, but if you want to get there, you must learn to judge yourself by the standard you ultimately wish to meet, or you will forever churn out mediocre code.

In other words, you're not going to learn the skills to paint the Sistine Chapel by being content doodling stick figures, even if they "get the job done"!

I've interviewed "senior Perl developers" with "15+ years of experience" who couldn't do a basic map transformation. On looking at their hideously bloated and barely-maintainable code, it was clear they'd just never had the courage to look at their code and ask, "how could I have done this better?

Don't rush through things. You're learning, so you especially now want to take the time to do things right; to the highest standard you can. Then do it again. Better. Bring 25-50 line (runnable) examples to Perlmonks once in a while for review to have the bar raised on those standards when you're ready.

use strict; use warnings; omitted for brevity.

In reply to Re: Perl beginner to intermediate and senior road map by rjt
in thread Perl beginner to intermediate and senior road map by daliaessam

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.