The Perl Job Market Blues

by Curtis Poe

On this blog, Dave Cross recently wrote about free Perl training the BBC is sponsoring in London (Dave will be the trainer) and chromatic wrote about recruiting Perl programmers and frankly, it's a hot topic in the Perl community right now. There are, frankly, more jobs than there are programmers. At this point, many people automatically say "just don't use Perl", but that doesn't work. Here's a bit of history about how this problem came about and my predictions about what's going to happen next.

23 Comments

Colin
2007-05-08 15:10:01
Small nitpick.


Portland is called the Silicon Forest because of all the semiconductor companies here. Intel, Maxim Int, IDT, Lattice, TriQuint, Linear Technologies, etc.

UncleOxidant
2007-05-08 17:48:02
Curtis: I did a lot of Perl Programming back in the 90's. But at the risk of starting a big argument (not my intent), you couldn't pay me enough to do it now. From what you're describing in your post above most of the Perl Programmers currently needed are for maintenance work. I have absolutely no interest in maintaining 10 year-old Perl code (or even 5 year old, for that matter).


I think what moved me on to other languages (which I won't mention) was that I started doing OO Perl... that really convinced me that I wasn't using the right tool for the job. I think a lot of good Perl programmers came to similar conclusions.


Also, your comparison of Perl to Cobol just is not going to attract a lot of new developers to Perl. It's already at the point where Perl is seen as a "legacy" langauage. I don't see a lot of new projects being written in Perl at this point. That being the case, it's going to be tough to attract people to maintain legacy Perl code.


I really hope Perl 6 can change some of this - there are some exciting things in there. The Perl community is full of smart folks. It's just that , other than maybe Perl 6, they don't seem to be attracting the up-and-coming smart kids at this point.

Perrin
2007-05-08 19:35:35
It looks more like a general increase in technical hiring than a Perl-specific thing. Take a look at the graphs here: http://www.jobstats.co.uk/
Ovid
2007-05-08 23:21:20
Perrin: there may be more jobs being offered, but we still have a terrible crunch in the case of Perl programmers, something that anecdotal evidence (my brother and others I've talked to), suggests isn't such a serious problem with other programming languages.


UncleOxidant: no worries about your "couldn't pay me enough" comment. That's how I feel about COBOL, for example (I've turned down several COBOL offers). However, while some of these jobs are for maintenance programmers, there are large numbers of senior Perl programmer roles out there for people to lead new development. That's the reason why the Perl community is offering the free Perl training: trying to give intermediate programmers the skills they need to learn to become expert ones. That's where our strongest shortage is right now.

mightyq
2007-05-08 23:45:07
Soon, like UncleOxidant, I may have to move to another progamming language, after 10 years of successful Perl projects.


Another Perl programmer lost because Perl 6 has taken TOO BLOODY LONG. A great academic exercise, but like you say, "Perl's not going anywhere".

shelly
2007-05-09 00:04:40
maybe we can ask the grassroots community project at the SalaryBase (http://www.salarybase.com) to really slice up the data and get a real feeling on the Perl issue.
Tom
2007-05-09 01:40:05
Perl was great when it first came out: a real improvement on the other scripting languages for UNIX. These days, you couldn't pay me enough money to program in Perl again: there are so many better choices out there.
Shlomi Fish
2007-05-09 01:54:26


My sentiments is that while pay is important, often software shops treat their employees badly, or don't let budding programmers grow properly.
See what I wrote about it in my recent essay. As for what was addressed here:




  1. I really like Perl OOP. In fact, I found that it works much better than C++'s OOP, for which there are many "pure OOP&D" positions offered in the newspapers, which I always laugh at because I know C++'s OOP sucks. Perl's OOP may require some extra explicitness (easy to solve to a large extent using a CPAN object system or a few modules), but it is very powerful and flexible.


  2. Perl 6 may take a long time, but perl 5.8.x and especially the upcoming perl-5.10.x are good enough. I, on my part have many doubts that Perl 6 will actually prove to be successful, and at the moment Pugs is dirt-slow and practically unusable. So don't hold your breath for it, and ignore the hype.


  3. In my opinion it is possible that some good Perl programmers also became C/C++ programmers, system programmers, team leaders, etc. rather than PHP or Ruby programmers.

JoeC
2007-05-09 05:27:30
I don't understand those who say they have been turned off Perl because there are other languages out there. I've been programming in Perl & C++ for about 10 years, Java & Python for about 5.
I use each where they have their strengths. Perl is still the ultimate "rapid glue" and nothing, not even Python, can beat it for rapid development, file processing, web or cross-platform functionality.


I'm continually finding new constructs and patterns in Perl that keep the language a joy to code in. I suspect those that get frustrated are simply poor Perl programmers. It's very easy to write bad Perl.


As for jobs or salaries, it's a market and the market sets the price. Quality costs money but there's plenty of maintainence work out there that doesn't need Larry Wall to look after it.
If the current trends in the market place are such that the quality of available perl programmers increases then I'm in favour of that.


Perl is a stunningly useful language that provides the backbone of much of the internet. It's not perfect but no-one ever said that it was. As long as someone keeps paying me to write it at a level I find fair I'll continue to program in it. When that stops happening I'll move onto something else. That's the nature of the market.

phaylon
2007-05-09 08:52:22
My bigger problem of understanding is more attitude-wise. I can fully understand why people don't like Perl, or Perl-OO, although I like it. I can understand that, because, I find Ruby's and Python's syntaxes awful, and Java looks to me like a training system to learn to type faster. So I absolutely get that Perl just isn't everyone's language. An absolutely reasonable comment in this direction was the one made by UncleOxidant. He surely made the mistake of thinking "I don't see a lot of new projects being written in Perl at this point." means that there are no new projects. I've seen quite a few, but that depends on the environment.


What I really don't understand are comments like "A great academic exercise, but like you say, "Perl's not going anywhere".", often combined with ALL CAPS so we dumb still-Perl devs finally have a chance to get it. Repeating the "Perl is dead until Perl 6" myth doesn't make it any more true. Perl 5 lived before, will live when and after Perl 6 is released. The fact that some people spend so much time arguing that "Perl is BAD", "Perl is DEAD", "Perl is UNREADABLE", "Perl is UNMAINTAINABLE", "Perl doesn't SCALE" etc. amazes me, especially since there are never any facts involved, only FUD. It seems to me that Anti-Perl FUD is the only socially accepted FUD at the moment. And I think part of the problem lies in the Perl community being "grown up." Many people in the community _do_ big projects that scale, are maintainable, easy to read and very, very alive. Since they know better, why should they start arguing against the flames?


Sometimes I wonder tho, what gets this people to say stuff like that? To exaggerate their own views to global truth? Maybe they failed once with Perl, and would like Perl itself to fail to blame it on it. Maybe they never really worked with Perl (and I really mean work, with bigger projects than a guestbook) but want to join in on the bashin. Maybe those are the people who need a more guiding language with less freedom, but don't want to admit it. We'll probably never find out.

Robert
2007-05-09 18:18:20
I wish Perl 6 was called "Perl Experimental" because the Perl 5 community is starting to get residual bad vibes about a "Perl 6 that never arrives". Perl 5.8 is really good for just about anything I can throw at it. Perl 5.10 looks very nice as well. We should stay focused on that and evangelize that instead of "the christmas Perl 6 comes out". I haven't gotten into the OO stuff yet but what I have seen hasn't turned me off to it. "Go Perl 5!"
jc
2007-05-10 16:20:41
I moved from Perl to PHP not because of wages. It was because of pure programming satisfaction of not having to deal with the "perl mess" of code that had become our web application (long before I got there).


I think Perl might be a lot better now with some good frameworks. Catalyst seems to be put together pretty nicely. But I've since moved on even from PHP to .NET and Rails. There's no way I'm going back 3 generations of my programming life (ok i know.. its only been 5 years).

mightyq
2007-05-10 16:55:01
Don't get me wrong, I'm a huge fan of Perl 5, and will use it for as long as I am able. But the pressure is on from all (ignorant management) quarters to move to "something more modern like Java or Ruby". Which is where all the good programmers have gone, in Australia at least, for the money. We can't get decent Perl programmers anywhere.


And I can't come back to management with the argument "Perl 6 is out, it's fantastic, let's stick with it, it'll be all the rage soon" because it just isn't.

abraham Miller
2007-05-11 14:21:51
As a COBOL programmer for 30 years on mainframe systems, and a Perl programmer for the past 5 years on UNIX based systems in a distributed environment, I have considerable experience with both; in fact I recently converted many COBOL programs to Perl, and found it a fairly easy task for me to accomplish.


The beauty with Perl is that it is a language that appeals to my creative spirit, and there hasn't been any task that has been asked of me that I have been able to handle using Perl.


To convert COBOL programs to Perl, I first used Perl to translate the COBOL input, and output specs to an equivalent input, and output procedure in Perl.


Also in the process, I was able to incorporate all the mainframe job control procedures into the Perl scripts that I had written.


As a batch utility language, I haven't found any language that compares with Perl.


I wouldn't label myself as an expert in Perl, but I would say that it is a language that appeals to my creative spirit.


If you go to my myspace.com/abramel68 website you will see that I also have another creative outlet (I recently retired from my job with the State of Texas, after 30 years as a techie).

scott
2007-05-12 07:20:42
COBOL is a good comparison, because, like Perl 6, there was a COBOL standard in the 90s about 10 years too late that added all the OO features, completed the Algolization of the language, etc. By then, no one seemed to care - afraid Perl 6 will be the same.


This article/discussion was fascinating to me - I had no idea anyone ever had a "Perl job" - no one ever offered to pay me to write Perl, and I've been using it since about '91 for system administration, toolsmithing, etc. What are these Perl jobs and how do people get them? I've heard bioscience uses Perl a lot - do they hire Perl programmers, or do scientists just use it as part of their work? I'd like more info on what these Perl jobs are and how you get them. Actually, I'm rusty on Perl, having used a lot of C, Java, REXX, PHP, Python/Jython, etc recently. It would be like heaven to program exclusively in Perl again. I wrote several systems in the late 90s for different people - in Perl just because they didn't know what it was written in (just that it worked!) it was exponentially faster to put it together Perl than any other language.

m├Ąttu
2007-05-13 11:42:20
I use perl for 2 reasons


- I fell in love with it


- I lived with it for some years. I would even say, that my (our?) love has matured and grown.


By the way: I speak english, which is a foreign language to me, for over 10 years. And english itself seems to be a little older than 100 years. No "english 6" in sight, is it?


Keep having fun ;-)

John
2007-05-14 08:18:50
I'm a Perl developer for many years now, working for a big international company. We do a lot of Perl development, especially mod_perl for web-apps or back-end stuff and all of our admins use it every day to crunch their logs, do reporting, write tools that makes their job and live more easy and productive.


Perl was and still is a very useful and powerful programing language and very well supported by many people. Every day a lot of new and updated Perl Modules arrive at CPAN and I never ever failed to find the right Module for what I needed. XML is very well supported as well as all flavors of databases - DBI is really an amazing concept - missing for PHP or Java for many years. The language it-self is stable; I never had a problem/bug in my software which was caused by a bug in the language. I cant say the same for PHP - where I had many bugs because of changing method calls from one version of PHP to another, changes in the php.ini configuration file, etc..


Perl comes pre-installed with almost every Unix operating system and is available for almost all other OS who're out there; like BeOS, OS X, Windows and even Cray supercomputers. Who said that Java is platform-independent?


So whats the point? Just because it's stable and "ready" for a long time now, it's considered as dead? Isn't it better to have a good working tool than a tool that changes every day and brings new bugs and super complex features that 0.0003% of the developers really need?


I'm happy to use Perl 6 when it's there. Until then our team will continue to use Perl 5 and write high-performance, stable and scaling applications in a third of the time and with a tenth of the money needed by other teams using Java.

gmillerd
2007-05-15 01:38:15
All I have to say is "perl for life", its a fun and wickedly powerful language. Sure I do stuff in a pile of other languages. But Perl is my workhorse. I have tried many times to believe what some of the other posters above say, ruby/java/php, and kung-foo wise I didn't ever experience anything that was going to replace the many apps in my ~/bin.
Aaron 'Teejay' Trevena
2007-05-15 17:42:02
I don't think the number leaving for jobs in other dynamic languages is part of the problem at all. The number of Python and Ruby jobs combined in the UK are lost in the noise of the normal churn of the Perl job market - i.e. single digit number of jobs vs single digit percentage of job market.


Also I don't think the number of Perl programmers in the UK is even dropping - merely that growth in Perl has grown steadily and almost continually for so long that demand is bound to outstrip supply without universitys and corporations training in Perl as they do in Java and .Net.


Here is some more information to back up continued growth of Perl, rather than it becoming legacy :
When I first went to london.pm in 1998 there were as many people there as we had at one of our devon and cornwall pm meetings recently - This was during the dot.com boom in the UKs capital, vs post-boom in rural southwest UK, even without the Met Office (which uses perl heavily) people attending.


I used to have to work in London 100s of miles from my wife, family and home, now I work in the southwest for a company 1 hour away instead of 5.


In my last permie role and in this contrract I'm writing 100% NEW code, about 1/4 replacing legacy mixed code of shell, php and perl, the rest is new.


I could go on - I think the recruitment problem is because the salaries are too low and the recruitment effort is insufficient or just lacklustre. Of course it's easier to get experienced Java people if you pay more and they demand is closer to supply for Java people.


Aaron

Joe in Florida
2007-05-24 12:21:47
I always get a little concerned when I read things like this, even though I'm in the US. I'm in a really ideal situation right now: working for a contractor on a long-term project for a federal agency. The location is one that tends to be high-cost, so I'm compensated very well...far better than I might be closer to my permanent home a few hundred miles to the north.


I love working in Perl and want to continue for the long-term. I'm no youngster (52), and I'm knowledgeable enough of other web development and scripting languages (especially PHP) to find other work if Perl jobs dry up. I don't concern myself too much about Perl 6, since I believe the current version provides all the capabilities needed for serious development (for all the reasons John detailed above).


I think another advantage for people like us is that through our Perl development (especially in large web projects), we get exposed to and often learn other useful skills, especially DBMS systems, as we hack away in those environments. If I concentrated on some extra study of SQL and it's related programming tools (i.e., PL/SQL), I could probably make a pretty good living administering database systems and building schemas. And I could glue it all together with Perl.


Nevertheless, no matter how long I hold out on this current project, I plan to continue my quest for employment as a Perl developer.

Amit
2007-05-30 02:15:39
Pleasure reading this article and comments. I am a beginner in IT industry from India.


I have one question. For a beginnerm which language/technology he should learn by looking to the job market and salary? like - java / perl / Oracle DBA / ...

sam
2007-08-01 23:59:23
Hi all,


Really good to see people talking nice of perl. I have some things to share here which may be bit crude. Sorry for that:


Java is a nice language but terribly slow for execution. Even experienced Java programmers say that the language is not suitable for all tasks. JSP, 52+ web frameworks just suck. Latest mantra in Java camp is JSF+flash. Java needs more memory resources (4 GB RAM), more people, lot of configuration issues to be dealt for big applications. One day in December 2007 the Java bubble will burst for lack of quality, pouring lot of money for resources (I have real study with me).


Python and Ruby are just not good. Ruby is not stable and Python just sucks for Web applications. Both are very slow for execution.


PHP is good but half-baked in all areas you can think of.


Perl is the only language that can be used for all tasks you can imagine. The only downside is some odd looking syntax. But if you are a serious programmer, this is not a handicap. If you don't know how to solve a problem, there are some genius brains to help u solve it at perlmonks (who are experienced for a decade -> a terrific advantage compared to other languages). There are perl modules to adress almost all "your type" of problems. You all should understand that the language is highly mature and most powerful.


People are just not fools. I already see a trend in small, medium and moderately big companies to use scripting languages to get business. Initially these companies tried with PHP, Python, Ruby. Python and Ruby were not succesful. PHP was a moderate hit but cudn't cater all that clients wanted. So the latest trend is to save cost, time, effort and achieve more. Hence, most of these companies are resorting to perl. (This is in INDIA)


1) Who the hell will bear the cost for resources and for how long
when you can get things done in perl lot better and cheaper?


2) OK agreed that you can spend money but
a) You can't get quality.
b) You can't maintain your project.
c) You can't understand your project as there are too many cooks (tools for integration) spoling your applications.


I laugh at people who say that we have to write comments for most lines in perl. But these fools don't understand that there can't be a more terrific documention than that for the ideas(POD ref)


All other language businesses are just becoming like real-estate business. They all will be hated and one day will burst.


Let us all be realistic -> Use Perl.

Lian, Romania
2008-07-21 03:26:42
It's nice to see so many people worried about perl's future and sharing their hopes in better.
But my love for, and competency in perl is not the object of this post:
With the risk of starting pro/against foreigners flames, I must tell you that in order to get those perl programmers you need in London, instead of sponsoring free perl trainings, you should probably start educating your job agents and make them understand what are the real costs in terms of bringing someone from abroad in (see workpermit.com for some figures).
I've been trying to re-get a job in UK for too many years now, after being there for one year in 2000, and having excellent references from the big company I worked for (www.assertahome.com).
In 99% of the applications I've filed, the one who decided I'm no good was the agent, just because of the presumptive costs issuing a work permit would imply. Because of them, in 99% of the cases my resume haven't reached the real client, nor my financial ability to sponsor my own permit.
And if you're thinking that foreigners are bad, I'd invite you too look at the last UK census to see how many you already have, and to place your bets regarding how many are programmers or at least have a genuine interest in attending a training, be it free or not.