Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Popularity of Perl vs. availability of Perl developers

by aufflick (Deacon)
on Sep 25, 2005 at 02:31 UTC ( [id://494834]=perlmeditation: print w/replies, xml ) Need Help??

I have observed for some time (the past 2 years I guess) that the number of job/contract ads requiring solid Perl development as a primary or secondary skill seems to be on the increase.

That is a good thing.

At the same time, companies doing the said hiring are having a hard time finding suitable developers.

That feels good in the short term - we're in high demand - but in the medium to long term it's very bad because company managament won't allow development teams to continue with a language/environment that is hard to hire for, no matter what the theoretical productivity benefits. (I know all about this from spending so long trying to push AOLServer based solutions with Tcl as the core language).

Poking around the stats section of a local job site, their graphs tell esactly the same story:

Jobnet : Job Trends : Perl

In the graphs you can see the number of Perl jobs advertised bottom out during 2001 and then increasing from then until now. The number of searches for Perl shows the inverse.

Now there are, of course, many ways to read these graphs. More people search for jobs outside their core strengths when they are out of work and more developers were out of work in 2001 than now!

Also of interest in the stats for other languages, Java job ads dropped again after 2001 while the percentage of searches also dropped. .NET job stats only go back to 2002, but have steadily increased since then (unfortunately the search stats for .NET appear flawed).

I don't really have a question here, but it would be interesting to hear if other people have noticed the same trend that I have.

Additionally, what can we do to increase the number of developers becomming skilled in Perl. For instance, one University lecturer tells me that many of his students ask him "Why aren't we learning Java instead of {language X}" where language X is any language that is not Java. How can we make Perl appear more attractive to students and course planners alike?

Replies are listed 'Best First'.
Re: Popularity of Perl vs. availability of Perl developers
by dragonchild (Archbishop) on Sep 25, 2005 at 03:42 UTC
    How can we make Perl appear more attractive to students and course planners alike?

    This statement shows a fundamental misunderstanding of how the IT marketplace works. Have you ever wondered why so many application rewrites are done in Java as a desktop app instead of Perl as a webapp? This in spite of case after case where the Perl webapp can be

    • completed in a tenth of the time
    • with a tenth of the people
    • deployed on a tenth of the number of servers
    • maintained by fewer people
    • upgraded ten times faster
    This is because the people who make the decision about which architecture to use (middle managers) generally have no clue about the technical merits of the various solutions. All they know is that Java is being talked about in a bazillion places, Oracle and Sun are pushing it, and they won't lose their job when the project fails because everyone else is also doing Java.

    The people who truly understand the technical merits (senior developers) are almost always ignored in the beginning of the decision-making process because of what they are - developers. In other words, they're not managers.

    As a result, students understandably want to acquire the skillset that has the most hits on Monster and Dice. Remember - they want to get hired when they graduate and, frankly, they don't care what they do when they get hired. A paycheck is a paycheck.

    The only way to raise the visibility of Perl in the mindshare of those who actually make these decisions is to do what Sun and Oracle have done - advertise. There is no 100-million dollar marketing campaign for Perl. There are no overpaid technical writers churning out rah-rah-rah articles about Perl. There aren't 18342378 different 100+ page glossy magazines with the words Java or Sun in the title. Even worse, IT managers don't have to pay a thing for Perl.

    Remember - the meme in the rest of the world, and it works really well, is that you get what you pay for. If someone were to offer to build a deck on your house for the cost of materials, would you take it? I know I wouldn't! But, we expect IT managers, who aren't technically minded!, to believe that the free architecture is better than the one they have to pay thousands of dollars for? Yeah, riiiight.

    Now, building software isn't like building a deck. I know that and you know that. But, truly articulating the difference to someone who doesn't understand leveraged effort and the other principles behind the opensource revolution is very difficult. Opensource is truly the largest paradigm shift in software development since the creation of the subroutine. It's not about the code anymore. It's all about the value-add, and very few companies truly grok that. Google does and Amazon does and EBay does. Your standard corporation doesn't, and they have no real reason to do so. Remember - a company will change (or die) only when one of its competitors gains a real edge in the marketplace. IT is so far back in the chain that very few managers, let alone companies(!), understand how dependent the modern economy is on IT.

    Here's a blatant example. I used to work for a small company providing worker's comp management that had been doubling its earnings year on year for over 7 years. It had grown, in 18 years, from being in the owner's garage to a $100 million dollar company that was building its second free-standing building. That company truly had an advantage over its competitors, and that advantage was its IT. The DBA was a 26yr old who had joined the company out of school right when it switched from Progress to Oracle. He had built every database they had and managed them expertly. Right around the time I took another position, he asked for a raise from $52k to $60k. He figured that a company earning $100M should be able to throw an extra $8k to the sole DBA, especially given that he had an offer in hand for $65k as a junior DBA at another company - more pay and less work. He was told that the best he could get would be $56k. Obviously, he walked. Now, the company has paying $120/hr to someone who had to learn why the databases were structured the way they were for over a year. Needless to say, that company has squandered its edge over its competitors.


    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
        Here's a blatant example. I used to work for a small company providing worker's comp management that had been doubling its earnings year on year for over 7 years. It had grown, in 18 years, from being in the owner's garage to a $100 million dollar company that was building its second free-standing building. That company truly had an advantage over its competitors, and that advantage was its IT. The DBA was a 26yr old who had joined the company out of school right when it switched from Progress to Oracle. He had built every database they had and managed them expertly. Right around the time I took another position, he asked for a raise from $52k to $60k. He figured that a company earning $100M should be able to throw an extra $8k to the sole DBA, especially given that he had an offer in hand for $65k as a junior DBA at another company - more pay and less work. He was told that the best he could get would be $56k. Obviously, he walked. Now, the company has paying $120/hr to someone who had to learn why the databases were structured the way they were for over a year. Needless to say, that company has squandered its edge over its competitors.

      Interesting story -- and a sad one, too.

      I wonder how the DBA tried to sell his $8k raise, what salary he started with, or how his annual raises progressed. Because it seems to me he had a dynamite job, and with the right sales pitch could have been making a six figure salary. And the company is now paying for trying to save a $4k raise.

      Something similar happened to me -- I was the lone developer left from a development team of a dozen, making $34K. When my boss announced he was leaving, the owner called me into the bosses office and asked me how much I was making. I told him, and he immediately gave me a raise to $40K, to give me incentive to stay.

      It worked -- I stayed another two years, and was able to support and even add a few features to his desktop publishing product (Laser Friendly's The Office Publisher, if any of you remember the late 80's). So, for an additional $6k per year, over about a 2 1/2 year period, he bought continued technical support for a cranky old scotch-taped togther piece of code written in Turbo Pascal. Without it, he would have been stuck with a piece of code going nowhere.

      This should be a lesson to business owners: don't leave yourself too thin when it comes to crucial business IT infrastructure. Maybe your DBA's being a prima donna -- but do you want to ignore their request for a raise? Better to get someone cross-trained on the database, and then ease the troublemaker out.

      $120/hour, 2_000 hours in a year makes $240K -- and after all that, this person's finally up to speed. Oops.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

        I wonder how the DBA tried to sell his $8k raise, what salary he started with, or how his annual raises progressed. Because it seems to me he had a dynamite job, and with the right sales pitch could have been making a six figure salary. And the company is now paying for trying to save a $4k raise.

        A further part to the story, which will help explain it. The IT director, who'd been at the company for about 2 years to the DBA's 5, was the one who'd been quibbling over the $4k. The DBA's manager had been pushing for $65k, hoping to get $60k. When the DBA put his resignation in, the #2 in the company called him into his office and asked about why he was leaving. The DBA laid it out and the #2 said "I can give you $65k right now, no questions asked." The DBA refused, citing the IT director as the issue. The raise issue had been a test of the director's commitment to his people. He failed.

        In the year since this happened (last November), I know of 4 people in the department of 20 that have left, including myself and the DBA. Last I heard, another 6 were looking. All have cited the director as a major reason for their decision. *shrugs*


        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
        This should be a lesson to business owners: don't leave yourself too thin when it comes to crucial business IT infrastructure. Maybe your DBA's being a prima donna -- but do you want to ignore their request for a raise? Better to get someone cross-trained on the database, and then ease the troublemaker out.

        ... and have a process that ensures that business critical knowledge is always in more than one head. Having a Truck Number of one is always bad.

      Update: this was meant to be a reply to the original post, not dragonchild's. The statement quoted was in the original post.

      "This is because the people who make the decision about which architecture to use (middle managers) generally have no clue about the technical merits of the various solutions."

      This has been repeatedly quoted as the reason why Perl might be less popular than some other languages, but it is not true. The best technical guys pick the right tool for the job. I use Perl quite often, but there are lots of tasks for which I will never pick Perl.

      Although it is possible to use Perl for big/medium size project, and some people do pick Perl, there are other languages that fit big/medium project much better. You can disagree with me, but you cannot disagree with the fact that I am a tech guy.

      It is not so correct to view Perl as the competitor for languages like Java etc. As a matter of fact, Perl is better viewed as a competitor for Python etc.

        I would argue that Perl is a definite competitor to Java. The only place I would use Java is if the majority of the programmers I expected to be working on the project were merely average. As I don't choose to work with "merely average" programmers, I don't use Java.

        My rules of thumb are:

        • Any medium-sized project can be written in Perl with no more than 3 developers worth their salt, plus a junior
        • Any large project can be refactored into a series of medium projects.
        • Any project in Java will take 10x longer and will require 10x the effort of the same project in Perl. (Replace "Java" with C, C++, and the like, at your pleasure.)

        Remember - 90% of every Perl application you will ever write is already on CPAN. You can't say the same about Java. There is no equivalent repository for Java.

        Update: Improved wording based on the tongue-in-cheek response.


        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

        Well, quite a few projects that are big if you use Java (whether you look at the number of lines of code or the number of deveopers needed) would be small if you used Perl. So yeah, Java might be better if you have to assign ten developers to the project. If you used Perl though one developer + CPAN might very well be enough.

        Jenda
        XML sucks. Badly. SOAP on the other hand is the most powerfull vacuum pump ever invented.

        Are you arguing that middle managers usually do have a clue about the technical merits of various solutions? That certainly doesn't fit most of the ones I've known, at least the ones who are more than one step removed from writing code (and thus get to make the decisions about how to spend the money).
      I have to laugh about this because it is so true. One of my old bosses was *very* impressed by this guy she wanted to hire that spent 7 years at NASA developing some sort of web app that he said contained over 30,000 lines of code in JAVA. When she showed me a link to it, to show me how *good* he was, I almost fell out of my chair laughing. She asked me why, and I said.. "One second" and proceeded to duplicate what he wrote in *10* lines of Perl. -In 2 minutes unfortunately, my fingers weren't very stable while I was laughing. Most of you I'm sure hate Microsoft, and some may hate Google, but you'll see that both of them have done research that proves that *1* good programmer is worth *200* or so "monkeys with a typewriter" (a great song if you are familiar with it). In my current Fortune 10 job my boss proved that I do more than *400* times the work of anyone else on my team and yet I have time to ask for additional work that's not required of me, and time to help other people in unrelated departments, and yet I still only work a 40 hour work week. My advice.. Less monkeys, more typewriters. Or if you don't like that one.. go with the tried and true.. "Too many cooks in the kitchen".
Re: Popularity of Perl vs. availability of Perl developers
by monarch (Priest) on Sep 25, 2005 at 02:58 UTC
    I was very thankful, when doing an Electrical Engineering degree at university, that the Software Engineering course(s) I did were based largely in C (where a specific language was applied) and not in some other more obscure languages.

    I wouldn't be encouraging universities to be conducting courses in Perl; universities are supposed to produce graduates with no practical abilities, but with a lot of good theoretical grounding on why things are done the way they are. I view Perl as a pragmatic language, but not a good teaching language, not when it comes to fundamentals.

    In terms of advocating Perl, this is a tough one. For several years I resisted Perl because it just didn't make a lot of sense at first glance. When I started in web programming PHP had its appeal because it seemed an awful lot like C..

    When I found myself developing real-world web apps, however, that had to talk to a variety of telecommunications equipment and databases and produce results in web form, I found myself experimenting with a few approaches. C++/OracleSQL, PHP, and then one day Perl.

    My ongoing problem with PHP was that it took forever to start the interpreter - which was no good for CPU intensive cron jobs. My problem with C++ was that it took a long time to write (but I always get a thrill compiling anything to assembler!).

    Perl, however, loaded so quickly! Finally here was an interpreter that didn't need to load 100s of modules just to start up. The use keyword was what converted me, and I paid more attention to Perl; now I am in love with the language, and it ranks almost equal with C and assembler as my languages of passion.

    The thread, however, is about businesses and demand for Perl programmers; indeed it is hard (in Sydney) to find serious Perl enthusiasts. And I agree, as a contractor, it is a very good thing to be in demand. And I also agree it is a risk to a business to be based in a language that has a light potential employee base.

    Having said that, though, any company finds it difficult to attract great staff. If Perl is a language that tends to be adopted by those who know what they want in a computer language then a company is going to have the same resourcing problems if they are looking for good staff..

      I mostly agree with you on your University comments. I am glad that my Computer Science study began with Pascal and from their went to C. The year after mine, Melbourne Uni Computer Science replaced Pascal with Miranda (a functional language) which I think is a capital idea - first teach students a less common (but powerful) approach before they get 'stuck' into procedural thinking so that they can see more than one way to do things.

      Software Engineering courses these days contain higher level subjects these days like Web Engineering where concepts like online communities are discussed. The fastest way to play with online communities is certainly not C :) Courses like that are definately up for alternative approaches like Perl or OpenACS (as is used for that course).

      FYI: I am based in Sydney myself these days, and your use of the term "enthusiast" is an important clarification. Developers or admins who know how to hack a short perl script are not the same as a Perl developer.

      Another thing I should point out is that I also didn't use to consider myself a "Perl Developer" - candidates for hiring as a Perl developer can include people comfortable and experienced with good programming practises who have shown their adaptability to other languages. Unfortunately that skill is even harder to test than Perl skills!

        I'm not so sure it's good to learn Miranda (or any other modern language) before C. It's painfull to go fourty years back in time. That's like teaching them chopping trees with a chainsaw first and then trying to teach them to use a hack. Yeah, you cut the tree down with both, but if you can do it in five minutes with a chainsaw, it feels stupid to spend an hour sweating with a hack. Sure sometimes hack is the right tool, but it should IMHO be taught first.

        Jenda
        XML sucks. Badly. SOAP on the other hand is the most powerfull vacuum pump ever invented.

Re: Popularity of Perl vs. availability of Perl developers
by eyepopslikeamosquito (Archbishop) on Sep 25, 2005 at 08:28 UTC

    Additionally, what can we do to increase the number of developers becoming skilled in Perl.
    Grow them from the grass roots! When I arrived at both of my last two companies, there were zero Perl programmers. At the first one, I grew that from zero to three. I must be getting better at this evangelism thing, because there are now about 20 at my current company (admittedly, most of them use Perl as a second language).

    In both cases, management never approved (or even knew) about Perl. I just started writing some tools in Perl to help me do my job, showed them to others, gave the odd lunchtime talk about it, and others followed. If you can get around five following you, the momentum seems to pick up because the others then also spread the word (which gives Perl more credibility).

    Historically, Perl seems to have had more success growing from the grass roots than from trying to sell to pointy haired management. In that domain, the high powered marketing machines behind "Java Enterprise" and .Net seem to be much more successful than Perl. :-(

    BTW, I am currently trying to hire a QA engineer. So, if any monks living in Sydney enjoy QA and testing, feel free to /msg me and I can let you know more details about the position. (Disclaimer: it is not a terribly exciting role, requiring both general QA/Testing skills in addition to Perl/C++ ones).

Re: Popularity of Perl vs. availability of Perl developers
by GrandFather (Saint) on Sep 25, 2005 at 09:18 UTC

    Maybe it's not such a problem. For example, I've been using Perl for about five months now and consider that I write code that is good enough to get worth while jobs done. In fact I was writing usefull code in just a few weeks, although I had a lot to learn (and still do). The point is that with good background knowledge and experience, a specific area of knowledge can be picked up sufficiently quickly to get usefull work done.

    The issue is more one of advocacy for Perl so that there is an awareness and a body of interest. As others have pointed out, it is not the job of Universities to teach languages so much as to teach technique and understanding. I think the monks are as important in engendering awareness and interest in Perl as any other body.


    Perl is Huffman encoded by design.
Re: Popularity of Perl vs. availability of Perl developers
by perrin (Chancellor) on Sep 25, 2005 at 20:04 UTC
    Companies always have a hard time hiring skilled developers, regardless of the language. I interviewed people for Java jobs at one company I worked for (writing Java). The company didn't want to pay very much, and most of the people I interviewed were the sort who were able to muddle through but had very little understanding of what they were doing. If you want people who are actually good and experienced and care about their craft, you usually have to either pay enough to attract top talent or interview a lot of people until you find a rising star. I don't think there's anything Perl-specific there.
      Companies always have a hard time hiring skilled developers, regardless of the language

      Very true. However it's been my experience that it's harder to find a good Perl developer than it is to find a good C/C++/Java developer. Not a lot harder, but enough to notice the difference.

        I am a PERL developer in Brisbane, Australia. I have 3 years experience developing in this language. I was wondering how much my PERL experience is worth? My performance review is approaching and I have found it difficult to gauge as there are not many PERL jobs available in Brisbane.
Re: Popularity of Perl vs. availability of Perl developers
by rir (Vicar) on Sep 25, 2005 at 04:49 UTC
    what can we do to increase the number of developers becomming skilled in Perl?

    Change the name Perl6 to something else. Everyone who will be interested in Perl6 due to their knowledge of Perl will still be interested in a new language from Wall whatever the name is (as long as it isn't too long). Strangers to the language will prefer to learn something new than what appears to be the latest update to a mature language. This is more practical than trying to raise money for advertising.

    Personally, I like the name Perl6.

    Be well, rir

      <tease>How about Perl 6?</tease>

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://494834]
Approved by friedo
Front-paged by Old_Gray_Bear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (2)
As of 2024-03-19 06:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found