sleep(24*60*60*rand(200)); post();

Penfold on 2007-05-16T07:38:54

OK - back now :) The management would like to apologise for the silence from this corner for 2007 to date - this has been mostly due to having way too much on my plate. Things have now settled down a bit, and my morning commute time seems to be available for blogging again, so, here we go.

Before we move back to looking at Perl in the enterprise, I'd like to take a look at a recent O'Reilly OnLamp posting, on the subject of the Perl job market here in London. The thread of the argument, and one which I'm seeing here working for Yahoo!, is that we're seeing fewer, and poorer, candidates applying for Perl jobs than in the past. He lists a number of explicit and implicit reasons, but I'm going to go out a little bit on a limb here, and flag a couple of my own reasons to do with the perception of Perl, a subject near and dear to the core of this blog. Implicit, I think, in the post, though it isn't actually said, is that it's looking at 'enterprise' level Perl jobs: things for big apps for big sites and companies.

I'm not going to go so far as to say Perl is actually dying as a language: you can't claim a language that holds up any number of the biggest sites on the 'net, and is pretty much a lingua franca among sysadmin and CGI programmers is going the way of the dodo. But as I've said several times before, it seems to me to be suffering from a perception issue, to do with the way it's marketed, and how its culture's evolved and is presented.

Marketing? Sure. Where's the glossy, media-friendly, Web 2.0-looking (you know what I mean - big, bold sans serif fonts and gradient-filled boxes in darkened primary colours) site that sells Perl as a solution? Ruby on Rails has one, that's been shoved in our faces with the growing rise of Rails as a rapid enterprise web development framework. And Perl's better than Rails[1] - it's more mature, better supported, has a vast library of excellent modules to handle just about any feature you could want to throw at it (too many, perhaps!). It just isn't sexy, and it's hard to sell it as such.

Perl has MVC frameworks[2] - it has, if anything, too many of them. The barrier to entry, though, is two-fold - first off, they are, by their very nature, that bit harder to assimilate than good old CGI.pm, which scares off the Perl scripters. Secondly, Perl's reputation scares off the suits.

What do we need to do, then?

Actually, I think it's twofold:

  • the BBC's free Perl training is a great idea, but as I've banged on before, we need to teach Perl folks to program properly, and understand OO concepts and good design patterns - that's, to a degree, independent of language, but Perl's history drags it down. And hell, if that means we have to throw away TWTOWDTI and aggressively promote something like Moose as The One Way to do OO in Perl, let's do it. With tutorials, examples, the works.
  • we need to sell Perl as MVC framework. Hard, slick, polished, finding all the good things that make Perl the right way to do it.
[1] Yes. Controversial statement. But if I didn't believe it, I'd a) not be writing this blog, and b) have learned to program in Ruby by now. :) [2] More later. Oh my God, yes.


sorry to spam you here

domm on 2007-05-16T09:32:37

.. but I couldn't find any email adress to contact you directly...

At YAPC::Europe we're going to do a Job Fair - maybe Yahoo would like to participate?

If you're interested, send a mail to vienna2007@yapceurope.org

Decline in quality of perl applicants?

doom on 2008-07-13T06:46:06

So you figure it's necessary to destroy perl in order to save it?

In any case, I suspect that the perception that the quality of available perl applicants is dropping has more to do with companies getting very paranoid about hiring perl programmers: they're adding more layers of interviews, and more detailed quizzing about different things. Myself, I find this personally frustrating because (a) I do terribly in oral exams and (b) the ability to do well in these quizzes has little to do with working as a programmer, which is always an open book test. If it were just me, I might figure this is just sour grapes on my part, but I know programmers I think are better than I am who are having a harder time getting through the interview gauntlet.