

Why are there unfilled Perl jobs in LA? - btilly
http://mail.pm.org/pipermail/losangeles-pm/2010-September/002028.html

======
nhashem
At this point in Perl's history, there is no such thing as a mid-level Perl
developer.

I'm actually a Los Angeles Perl developer and I keep telling my HR department
to either look for college kids with basically no professional programming
experience at all, or senior candidates that they're willing to pay at least
$90,000. Looking for "some Perl programmer guy" with some experience that
you're looking to pay $70,000 is pointless, because they don't exist.

Perl's lack of a "sexy web startup framework" (e.g. Rails) essentially wiped
out a whole "generation" of developers. I'll be the first to admit it's a lot
harder to bang out your brilliant "It's like Facebook... but for cats!"
startup idea in Perl and its respective frameworks. If you want a decent
foundation, you'll use something like Rails or Django. If you just want to
bang it out, you'll just inline some crappy PHP code in your HTML. Eventually
your company will grow, you'll have different kinds of problems to worry
about, like, "this third-party partner doesn't have an API so I need to write
a spider that logs into their UI and scrapes the data we need" or "I need to
parse this DB log to figure out the frequency of SELECT queries," but since
97% of startups[1] don't ever get to that point, Perl didn't get a lot of love
in 2005-2007. After all, we're on Hacker News, not Mid-Sized Company News.

So if you were a Perl hacker in 2004, 2005, you either loved the flexibility
and "whipitupitude" Perl gave you for your back-end operations, and now it's 5
years later and you're a senior engineer looking for a commensurate salary. Or
you decided to crank out CatBook in RoR until Zuckerberg sued you into
oblivion and then you just got another Ruby job afterwards.

For what it's worth, I would encourage the HR departments that Randall
mentions to look at new college grads. More than any other language, I feel
it's one of the easiest languages to learn regardless of your previous
experience, mainly because of TMTOWTDI[2] you can write it in whatever syntax
format you're already experienced in. I see a lot of college kids who came
from Java and at first their code is full of
HammerFactorySchematicFactorySchematicFactories, and while it's pretty silly,
it'll work until they learn better, and in three months they're essentially as
productive as the theoretical mid-level Perl programmer anyway.

[1] This statistic is POOMA[3].

[2] There's More Than One Way To Do It

[3] Pulled Out Of My Ass

~~~
cageface
People wildly overestimate the intelligence it takes to hack the average
scripty software job anyway. It took me about two months to go from complete
ignorance of perl, http and unix to productivity at a startup and I'm
certainly not exceptional. Hire smart people and give them a little ramp time.

------
bugsy
There are two questions here: What's the situation with LA and What's the
situation with Perl.

It's challenging to get people to move to LA. People who like LA are in LA.
People outside of LA have a hard time seeing its charms given the lack of
transportation structure other than giant freeway traffic jams and busses that
come a few times a day and can take a half day to travel a few miles. The cost
of living in a decent neighborhood is very high, yet most positions offer mid
west style salary. Most developers will take a huge hit to their standard of
living by accepting an LA job, so LA employers mostly try to recruit locally
and even when they do recruit from out of town, few are willing to attend to
basic hygiene issues such as paying for relocation costs.

On the Perl issue, I use Perl for a lot of things because it is very fast to
code in and to execute. I find both C and assembler easier to understand than
trying to read a complex regular expression in perl or decipher data
structures in perl that use pointers due to a syntax that is still unintuitive
after a decade of use. Regular expressions probably can't be simplified since
they are their own very dense language, but the pointer syntax could be
improved a lot. Perl code that creates classes and objects is quite hard.

Coding in Perl can be a challenge and Perl is so large that all of us are
expert at different things which means that almost every single piece of new
perl code I see is like having to learn a new language.

I have just "dealt with it" all this time, but it's possible, given this post
about LA, that fewer developers are willing to deal with the overhead of
learning Perl given that for simple sites PHP can be more efficient for them,
and for system scripts things like python have gotten more traction.

~~~
tomkarlo
As someone who hires in LA, and moved to LA to take a job here, your
perception is either outdated or simply incorrect. There are a good number of
shops here in LA, including Google, Amazon, Hulu, Sony and Yahoo that pay well
above the median for good talent. A good dev or PM is going to make as much
here as in New York, Seattle or San Francisco, although admittedly there are
fewer positions overall than those cities. Additionally, most if not all of
those major tech employers regularly pay relocation costs to move people here
from other tech centers - it's just not practical to run a dev team here and
not do it, given the smaller number of engineering grads.

Additionally, while having a car is a requirement (as it is in all but a
handful of US cities), cost of living is lower than in New York or SF, which
are the two most likely alternatives. Rent is lower (my rent here is half of
what it would be in those cities) and most of your weekend activities are
either free (beach, mountains, etc) or cheaper than SF or NY. And there's more
of them too: there aren't many places in the US where you can ski on Saturday
and go play volleyball on the beach on Sunday, which is why much of our team
are Seattle or San Fran weather refugees.

As for Perl, I'd argue that because the tech / web media industry here in LA
is newer, there aren't as many folks around who date back to the years when
Perl was the dominant platform. When I started developing for the web, it was
one of the few practical options; now I'm sure I'd be starting with Ruby or
Python. What we do is hire engineers who are smart enough to work in any
language, and then let them pick up a book and learn Perl, rather than filter
first for that specific language.

~~~
cageface
I liked a lot of things about L.A. but the traffic eventually killed it for
me. I need a car here in the S.F. East Bay too but I very rarely have to sit
in the kind of traffic that became my daily nightmare in L.A.

~~~
tomkarlo
It's all about where you choose to live relative to where you work - my new
apartment and my old one are across town from each other, but neither commute
took more than 15 minutes at peak rush hour. The same can be said of NY, it's
all about positioning to minimize the commute.

Also, working from home is pretty big - we allow about 20% of days to be WFH -
and that's zero commute.

~~~
cageface
WFH would have definitely made things easier, but there's just a certain
amount of traffic you have to put up with in L.A. if you want to enjoy the
city at all. I'd come home after a long day at work and the idea of trekking
across town for a concert or dinner just seemed like too much work. Even in
West Hollywood, where I was living and where there was a lot more going on,
just dealing with parking and traffic kept me home many nights.

------
mayank
Although I'm a Perl zealot, I must admit that the thought of trying to
understand someone ELSE's Perl code is horrifying. This is because although
everyone writes beautiful maintainable Perl code, everyone else's Perl code is
horrific.

On another note, what are the chances that this thread is going to turn into a
PedantoNerd flamewar.

~~~
btilly
_although everyone writes beautiful maintainable Perl code, everyone else's
Perl code is horrific._

I do not buy this. I've maintained plenty of good Perl written by plenty of
other programmers. I've seen bad Perl as well, but I've generally believed
that the same developers would have produced bad code in other languages. I
believe that the experienced developers I've worked with would generally say
the same. From what they've said, they've categorized more of mine on the good
side than the bad.

I admit that there are occasionally cases where very good code is very
difficult to read. Those cases are very rare, but not entirely non-existent.
On those occasions I've been glad that Perl gave me the rope to hang myself.
However if you find yourself in this position on a routine basis, you should
ask what you are doing wrong. Because that shouldn't happen. Really.

(Note, I'm not a Perl developer at the moment, but I was for 11 years. I've
never considered myself a Perl zealot.)

~~~
jrockway
Same. I took my current job and the Perl code did not look too different from
mine. If anything, they tried a lot harder to make it look nice than I do.

I work on a lot of open source Perl, and it all looks the same. Sure, I can
tell mst's code apart from nothingmuch's, but I never have any trouble
understanding what it's doing. The community has decided on a style, and
everyone gets on just fine. It's so pervasive that even people that don't hack
on the code every day pick up the style; like I said before, code written by
never-contributed-to-open-source don't-even-know-what-github-is coworkers does
not look too different from what I'd expect. People wrote bad Perl in 1995,
and I've seen it, but this problem is largely solved. (The same cannot be said
about Python. I wasted two days last week debugging the XML parser included in
the core! That is some _legacy_ code...)

The reason we can't find Perl programmers is because everyone likes their job.
When you jump ship as a Perl programmer, it's from one bank to another, or one
small web shop to another. If you're a Python programmer, on the other hand,
you get to do something exciting like go from no-name-consulting-company to
Google. Google, that site you visit every day and that has a ball pit and pool
in their offices!! Google!!

The kinds of places that do Perl tend to be boring. I may work for a bigger
company than Google and affect more people, but I don't get a ball pit, I
don't get free food, and I don't get to say, "oh, you know Google Reader? I
added a new feature on that today." When talking to non-programmers, I try not
to even mention my work, because it sounds that boring. When you work for
Google, everyone thinks it's exciting. This makes it easy to find people that
want to work on your language, just because there is a general feeling of
coolness about it. If you're not working for Google _today_ , then you're
working to attract their attention or something.

Extrapolate this anecdote to the rest of the community... and you have a hard
time finding people to hire. (My employer has trouble hiring people because
they try to be cheap. "Oh, well we can only guarantee you a 6 month contract,
no insurance, and you have to pay to move across the country". Not a lot of
people take this offer.)

------
staunch
Maybe the positions and/or compensation aren't competitive?

Perl doesn't attract brand new programmers very much these days. The result is
that the people using Perl now tend to be more experienced and thus in a
position to be somewhat picky.

~~~
jbarham
The same thing could be said of COBOL. ;)

~~~
staunch
It's true. The difference is Perl is still technically competitive (or better)
than the existing alternatives. It's just not considered cool anymore.

~~~
jbarham
Actually I would argue than in the niche of batch record processing on
mainframes COBOL still very technically competitive. Unfortunately, unlike
Perl, batch record processing on mainframes is essentially the only niche
COBOL is suited for...

~~~
ahi
Perl is competitive in more areas, but many of them are not traditionally high
paying or high status areas for programmers, e.g. sysadministration or data
munging. Combine an aging Perl workforce with lower paying positions and you
end up with unfilled positions. Banks are willing to pay good money to either
train someone or hire an experienced engineer to work on their mainframe.

~~~
gaius
If you call data munging "ETL" it becomes well-paid again.

------
jbarham
I'm in greater LA and the reason I didn't take a Perl job is that I took the
Python job instead. I personally much prefer to program in Python.

As with any situation where people have a choice, they will take the option
that is most attractive to them.

~~~
JoelPM
And, by implication, Perl is not the hottest girl in the room?

(which I'd certainly agree with)

~~~
jbarham
More generally it's been my experience that Python is more broadly used than
Perl in the tech-heavy industries around LA.

Python is used heavily in the animation and post-production houses around
Hollywood/Burbank (e.g., Dreamworks, Sony) and NumPy is popular in finance.

------
Vivtek
In general, economics tells us that if a commodity is not being sold, its
price point is incorrect. An unfilled job is a job that is being priced too
low.

------
whitcot
IMDb.com (a subsidiary of Amazon.com) has an office in Sherman Oaks and we are
definitely looking for experienced Perl developers. If you are interested
please send us an email at careers@imdb.com

------
longlistener
I'm a perl hacker from way back. I put a few things in CPAN back in my day.
But honestly I've not written perl in a decade, so when I got a really amazing
job offer for a position doing Perl, I gave it some thought.

Perl is not only not the sexiest/hottest language, but watching and waiting
for Perl6 and getting the OO model cleaned up is like waiting for "Duke Nukem
Forever". So do you really want to ride on that train? Do you think it will
look good on your resume, improve your skill set, or help you think in new and
better ways? For all practical purposes the language is dead (FINE, a perl6
implementation is out, but still if the growth is that slow it IS all but
dead).

I get offers pretty much constantly to do work in Python, Ruby, and even Java.
It would take a lot to make me want to backtrack to an environment that
wouldn't help me to grow and evolve as a developer. So the answer for me was
"No thanks, thats not really what I want to be doing".

~~~
phaylon

        but watching and waiting for Perl6 and getting the OO 
        model cleaned up
    

Have a look at <http://search.cpan.org/dist/Moose> and <http://moose.perl.org>
as well as the MooseX::* namespace on CPAN. It's Perl 5 OO with a Meta Object
Protocol, lots of extensions, and compatibility with pure Perl 5 OO.

    
    
        Do you think it will look good on your resume, improve 
        your skill set, or help you think in new and better 
        ways?
    

For me it does. I'm a full-time Perl 5 developer and I have to learn and read
up on newer technologies all the time. Even if the CPAN already provides me
with what I mostly need, I'll still have to integrate it into the customers
infrastructure. And for that I have to understand it.

    
    
        For all practical purposes the language is dead
    

CPAN disagrees.

------
mkramlich
I doubt Perl is getting as much new blood as they used to be, because a
disproportionate amount of it is going to newer or sexier languages, like
Python, Ruby, etc. Languages that fit approximately the same niches and have
approximately the same level of agility or terseness. (Note I said
_approximately_ for you precision nigglers out there.)

~~~
pyre
Python isn't _that_ much newer. It came out in 1991, Perl in 1987. It's just
gained more popularity in recent years.

~~~
theclay
It all depends on when you start counting. Python 3 was released December of
2008. That's brand new.

~~~
phaylon
Well, Perl 5 Version 12 came out in April 2010.

------
zerohp
I have to wonder how they are recruiting, because I don't see that many
available positions on the job boards.

I'm a Perl developer with 11 years experience who's been watching the job
boards with the intent to relocate to a new city soon (I'm looking all over
the US) but I'm not seeing that many Perl jobs anywhere. PHP, Python and Ruby
look like a much hotter skills right now based on my unscientific observation.

Another thought is that like me, other Perl developers are worried about
getting stuck in a shrinking specialty and are actively seeking non-perl jobs
to strengthen their career. That said, I'm still open to perl and willing to
relocate so if your company needs an experienced Perl guy you can find my
email address in my HN profile.

~~~
askbjoernhansen
Have a look at <http://jobs.perl.org/> if you haven't already. Lots of Perl
jobs all over the country.

------
KevinMS
Is this a problem in the Boston area also? I hope not because I've been doing
Perl a long time and would consider taking a Perl job around here, but either
its not the case or they are hiding them from me, even though I write the
loveliest Perl ever, I swear!

~~~
cdr
Athenahealth uses mainly Perl, but I got the impression they're mostly hiring
new graduates and training them up. When I interviewed, they didn't advertise
using Perl at all, maybe to not scare people off.

------
tedreed
I had to leave LA last year because I couldn't find work, and now I'm in the
Bay Area. Maybe all the perl hackers moved away? I wasn't seeing many _Linux_
jobs in general.

~~~
askbjoernhansen
There are lots and lots of jobs – but of course - like everywhere - most
people are recruited/hired from "know someone who know someone", so making
contacts as you work is crucial.

------
revoltingx
Well, as a 24 year old PERL developer in Los Angeles I'm glad this is the
case.

Many people underestimate the capabilities of the PERL MVC frameworks such as
CGI::Application + Moose and the other ones.

I can bang out a proper MVC templated project with a proper OO structure and
Beanstalk MQ backend for long running jobs with an AJAX interface that'll
scale in about week. No sweat.

These tools make the recent Diaspora fiasco non-existant. They take of sanity
checking, access checking, etc. at a lower level and you implement features in
higher level classes. (For example I can store JSON in a DB column and
automatically parse it when it's accesed like: $mytable->myjson->{'myvalue'} )

Need a barcode reader? Need a SOAP/JSON/etc library? Need clean database
access API? Need a printing library? Need a PSD library? All in CPAN.

I wouldn't touch Rails with a 10 foot pole. PHP blows chunks. I'm able to be
picky when it comes to jobs

I've gotten my PERL jobs through craigslist. I'm honestly not aware of a
better medium to find PERL jobs. Been programming in PERL since I was 14 (so
10 years) and I'm so happy I don't have to sweat for a job. I'm actually
currently living off my previous job's savings because it paid that well.

Also note that I never even finished High School.

In short, I don't know why they haven't been able to find PERL programmers. I
guess because the newer generation of developers don't realize how awesome it
is.

PS: Looking for a short-term PERL project in Los Angeles, check out my resume:
<http://careers.stackoverflow.com/therevoltingx>

~~~
kentnl
Protip: you'll get more people interested in you if you spell it Perl instead
of PERL. Despite appearances, 'Perl' is not an acronym, there are _backronyms_
for it, but that doesn't mean its an acronym.

I say this only because you give the illusion of knowing something about what
you are talking about, and its merely sad to me that you can use Perl for 10
years and never learn this.

( And sadly, not knowing Perl is not an acronym looks bad to people who know
different, and thus instantly assume you're not very experienced in Perl )

~~~
revoltingx
I spend much less time speaking or writing about PERL than I do writing PERL
code.

Note, I'm well aware that PERL is not an acronym. I ALWAYS spell it like that
because I like to make it pop in my sentences. Frankly, if an employer is
turned away by the way I spell PERL then I don't want to work for them.

My work speaks for itself.

~~~
whiskeyjack
The thing is, savvy folk know it's Perl and not PERL and regardless of your
work, it indicates a lack of knowledge of the community.

~~~
revoltingx
I really don't communicate with the Perl community at all. I write code, I
send bug reports or bug fixes if things are broken. I really don't see how
interacting with the Perl community would be relevant to an employer from an
engineering point of view.

At that point it's not 'savvy' people who know that, but silly people who have
too much time to complain or notice small things like that. Possibly managers
or scripters, not engineers who go only by code, architecture, etc.

------
dstein
You wanna know the exact reason that Perl is dead? It all boils down to PHP
had informative and pretty inline debug statements when doing web programming,
and Perl did not. So Perl lost, and now everyone codes in PHP.

