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??
I've noticed recently at $current_client that the developers they have (who develop in perl, but now more and more in java) are completely incapable of new development. Basically, they have been maintaining software for the last few years. Very few of their applications use subs (some of these are thousands of lines long), and none of them use modules.

Recently, they came to the conclusion that perl wasn't really the language for them. The reasoning for this was that their code was awful. It was not portable, it was incredibly difficult to maintain, and it was difficult to keep versions straight. Rather than examine their developers, they chose to point fingers at the language. I think I've told this story before.

Anyways, they are starting to realize that they cannot just develop everything in Java. Something has to process the gigs of web logs and syslogs they get daily. Somebody has to merge databases, and so on. There are all these tasks at which perl excels that Java simply isn't the right tool for.

Slowly they are beginning to realize that their developers are becoming a liability. They cannot continue to bring on consultants (they are paying over $150,000 a month for development consultants right now) to write their software for them. Their only real recourse right now is to fire all their developers (not likely) or to train the ones they have.

So I am attempting to come up with a few outlines. All of the training I've done has been informally. I haven't come up with an outline for a course and in-class materials. My hope is to come up with a general outline that will work for this client, so that I will be able to offer it to the next client who comes along. I suspect a lot of organizations are in the same boat: it is easy enough to move to java (and we are seeing that a lot), but you can't move away from perl in a modern unix environment (ok, within reason).

My question, then, for monks, is what skills you find yourself lacking, and would be receptive to getting training on, should some PHB at work hire a perl training consultant? I am very interested in hearing from both senior and more-advanced programmers, as well as the newer programmers who might now just be starting out as professional perl programmers.

Some ideas I had were:

  • introduction to functional programming
  • writing code for re-use
  • decoupling
  • introduction to OOP
  • using CPAN efficiently
  • basic editor configuration (i.e., using emacs and vim effectively)
  • common mistakes
What bothers me is where to start for the advanced users. I have met many advanced perl programmers who still dont use things like map, binary operators, tied hashes, who are afraid of globs, toying with references, multilevel datastructures, and so on. I'd also really like to work up a half-day DBI session since so many people are horribly mis-using it.

I'd really appreciate what feedback you can offer.

brother deprecated

--
Laziness, Impatience, Hubris, and Generosity.


In reply to What training do YOU need? by deprecated

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 chilling in the Monastery: (7)
As of 2024-04-18 03:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found