http://www.perlmonks.org?node_id=667432

For Tired of "Perl is dead" FUD ?, I generated a simple chart of Perl, PHP, Python, and Ruby job listings. It generated a lot more interest than I expected.

One of the common comments went something like, "Yeah, but there's no Perl jobs in my backyard".

Which aggravated a chronic itch I've had since first releasing DBD::Chart/ DBIx::Chart several years ago: how to support some kind of GIS visualizations. I've occasionally had users ask about GIS support, but it seemed like such a huge challenge that I've always begged off.

All the online mapping services are about "geo-location"; I'm interested in "geo-intelligence".

So when people asked "yeah, but where are those jobs ?", I decided to scratch that itch.

I found GD::Map, but its interface and rendering weren't quite what I wanted. So I've created GD::Map::Mercator. (Alas, I still haven't figured out how to integrate it into DBIx::Chart, but the experience helped me better understand the issues)

With that, and a Javascript widget I've been working on for another project, and a bit more detailed screenscraping, I've whipped up a Dynamic Language Jobs Map that provides some relative indicators of where those jobs are, along with a drill-down breakout of the Javascript, Perl, PHP, Python, and Ruby job counts. (Sorry, USA only; free/open, current detail GIS data for other locations is hard to find)

Note that I've added Javascript to the list, because its become increasingly important to me personally, and I suspect it either already is, or soon will be, important to other dynamic language users.

The cosmetics are still a bit rough in spots (despite minor intervention with Microsoft Paint), but hopefully its a bit more insightful. I'd hoped to get a deeper drill down using area code GIS data, but I've been unable to locate a free/open source for the data (if anyone knows of a source of such data, I'd be grateful if you passed along the info).

I'll try to update the data every couple of weeks; I've imposed on DICE's hospitality a bit more than I should; hopefully they'll continue to be gracious about my occasional scraping.


Perl Contrarian & SQL fanboy
  • Comment on "Tired of FUD" Followup: Where the Jobs Are

Replies are listed 'Best First'.
Re: "Tired of FUD" Followup: Where the Jobs Are
by sundialsvc4 (Abbot) on Feb 11, 2008 at 22:36 UTC

    Only in the computer-programming industry would you find job listings that emphasize tools rather than skills... including “soft skills.”

    You don't see listings for:   “experienced mechanic wanted ... must have 3 years' recent experience with wrenches.”

    To a programmer, a language is a tool about as basic and generally-uninteresting (in and of itself) as a wrench. New tools come on the scene, go in-vogue and then out again, all the time. (I don't know what language will be invented later this year, that will be the “you gotta have this or you are 0xDEAD.0xBEEF” trend-setter of the year following, but I assure you that there will be one.) The reality is that you are always going to find yourself adapting to “a new tool,” just as you at one time or another “adapted to” Perl.

    Today, there are literally billions of lines of COBOL out there doing heavy-lifting in all kinds of industries. Twenty years hence, there might be a commensurate number of lines of Perl out there, along with COBOL, similarly doing the heavy-lifting. What kind of languages and methods we'll be using at that time (hah! to pay for my retirement! code harder, yew dawgs!) is anybody's guess.

    Programming-language names are actually a lousy keyword to use in an online job-search, for just that reason. Skip the headhunters ... whom you know will be filtering keywords without having any idea what those keywords mean ... go straight to the hiring principals and sell your ability to solve problems. If someone who actually has the authority to hire you asks, “do you have X-years experience in blah?” look him or her straight in the eye and say, “no, but if you hire me, I'll be an expert by my first day on the job.” (And if you're good, it won't be a lie:   you will be.)

      Ah, but mechanic ads do come in a number of flavours, not dissimilar to programming:

      Mechanic adProgramming ad
      must have certificate and 3 years experience repairing motorsmust have programming qualification and 3 years practical programming experience
      must have 5 years experience repairing Mercedes and/or BMW motors must have 5 years experience with Perl and/or Python
      must be licensed to repair jet aircraft engines and have 10 years experience with top-tier airlinemust have 10 years experience parallel programming cray supercomputers in Fortran

      Sometimes you want someone with good general skills, sometimes you want specific skills. Anyone remember when seceratary jobs used to specify "WordPerfect skills" or "Microsoft Word skills" - doesn't get much more specific than that!

      Note that I'm not saying this is or isn't the right way to recruit, just that it's not unique to our industry.

        Four word job req quoted to me by a recruiter in 1991: "rocket nozzle ceramics engineer."
      If someone who actually has the authority to hire you asks, “do you have X-years experience in blah?” look him or her straight in the eye and say, “no, but if you hire me, I'll be an expert by my first day on the job.” (And if you're good, it won't be a lie: you will be.)

      "Blah" in this context must be a member of the set of programming languages that doesn't include Haskell, OCaml, Erlang, Prolog, Forth, or Self -- languages that are very different from Java or C++. Fortunately, most programming jobs use languages that resemble Java with the serial numbers filed off.

      Update: Rephrased.

        I'm not quite following that - are you saying Haskell, OCaml are "Java with the serial numbers filed off?" Or that the ability to be an expert by the time you start applies only to the Java-esque languages but not to the languages you named?

      Languages worth learning are the ones that aren't "just another tool". They challenge you to think in completely different ways.

      A beginning programmer sees every language as different. An intermediate programmer sees that every language does basically the same thing, and can pick up a new language in a day or so. An advanced programmer comes right back around; they see that languages can be so fundamentally different that you can't really learn them in a day.

      Personally, I don't touch flavor-of-the-month technologies. I keep my eye on them, wait a few years, then see what good ideas ended up coming out. I'd probably get paid more if I chased trends, but I also don't have to work with people who chase trends.


      "There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.

        In all of my experience, which is a long time indeed, this rule remains unchanged. Your mileage may vary. (Put me into whatever category you please. I don't mind...)

        Some languages are fundamentally different in their approach; Prolog is an obvious example. But the vast majority of languages in common use today do implement exactly the same solution to a problem and exactly the same methodology for solving it ... with only superficial variations. Obviously this statement is intended to use a h-u-g-e broad brush, because those “superficial variations” are quite numerous. Taking a garden-variety Perl program and implementing the same algorithm in PHP or Ruby would not be extraordinarily difficult. (Not pleasant, I grant you, but not difficult.) It's going to turn out to be a comparable, procedural, program. Likewise, “implementing a substantial project,” say an ordinary web-site, is once again going to be a comparable task... after the usual learning-curve nonsense is over-and-out.

        Lurking beneath all of these languages, and the brief challenge of becoming sufficiently-conversant in any or all of them, is ... the experience of knowing what to do with them and how.

        You can spend years “working,” and never find that you are “working well.” You can find that you are not really growing. You can spend years in a company where no one around you really knows how to manage a project, so you might come away thinking that 60 or 70 hour weeks are quite-the-norm. You can do this, getting paid but getting nowhere, and throughout all this (and perhaps in spite of it) you are easily able to “ace a technical interview!”

        When I'm interviewing, I want to hear you talk. Not about this-or-that language... I want to hear you think.

Re: "Tired of FUD" Followup: Where the Jobs Are
by jettero (Monsignor) on Feb 11, 2008 at 19:55 UTC
    This may be off topic, but I just wanted to say that DBIx::Chart is completely amazing. Thanks. I'm reading the sources now.

    -Paul

Re: "Tired of FUD" Followup: Where the Jobs Are
by tim.bunce (Scribe) on Feb 12, 2008 at 21:35 UTC
    I've written up a detailed comparison of job market trends for perl, python and ruby (along with some other languages for perspective). It has a bunch of live graphs interspersed with discussion: Comparative Language Job Trend Graphs

    Turns up some interesting information (like ~14% of jobs matching "ruby" are for the Ruby Tuesday restaurant chain :)

    (apologies if this is a duplicate - I thought I'd commented earlier but I can't see it.)

Re: "Tired of FUD" Followup: Where the Jobs Are
by gregor-e (Beadle) on Feb 11, 2008 at 23:19 UTC
    Unsurprisingly, it seems to reveal that the states with the most people have the most jobs. Maybe do a version that shows jobs per capita?
      Maybe do a version that shows jobs per capita
      You know, I've never understood the notion of "most jobs" or even "most jobs per capita".

      Just exactly how many jobs do you need... personally? One, right? So if there's even one job in an area that meets your needs, you're done, right?

      Yeah, that's what I thought.

        Florin has a population of 100,000 and 10,000 openings for Plugh coders.

        Guilder has a population of 1,000,000 and also has 10,000 openings for Plugh coders.

        If you are an ordinary Plugh coder, do you think it will be easier to find a job in Florin, or in Guilder?

Re: "Tired of FUD" Followup: Where the Jobs Are
by samizdat (Vicar) on Feb 15, 2008 at 15:03 UTC
    Whenever I see a thread like this, I have to laugh. merlyn's got exactly the right tack to take: be the best and jobs will find you. Even though today's market is rapidly changing, there are so many opportunities available it boggles my mind. The catch is that the jobs available are about problem solving for businesses, not being the most efficient at coding with the ternary operator. That's right, you need to use your brain and your access to information to position yourself and train yourself to speak "business"... not just buzzwords but brass tacks. If your brass tack called Perl can get the job done quickly and out the door with fewer bugs, guess who's got a job!

    BTW, ($scraper && $presentation) == $kewl

    Don Wilde
    "There's more than one level to any answer."
Re: "Tired of FUD" Followup: Where the Jobs Are
by sh1tn (Priest) on Feb 13, 2008 at 00:15 UTC
    It's all about the money, forget the stats, they are obfuscat(ed|ing) - real, but useless. And money does not obey this or that technology.


Re: "Tired of FUD" Followup: Where the Jobs Are
by sundialsvc4 (Abbot) on Feb 15, 2008 at 20:59 UTC

    Toward that end... I just got off the phone with a very exasperated recruiter who was looking for “programmers without an attitude.” For “programmers who were not dead-set that the only way that something can possibly be done is their way.” (Like I said, he sounded very exasperated.)

    It always bears remembering that Perl (or anything else) is a means to an end, not an end unto itself. Your job is to help businesses solve business problems, and to do that in a businesslike way.

    You need to be able to articulate why it is a good investment(!) to hire you. A little humility goes a long, long way, because Perl ain't that mysterious... The folks who are dependable and easy to work with usually have all the work they care to do, and their reputation precedes them. People call 'em up asking 'em to do work, and sometimes wait in line many weeks or months to get them. It's not because of “what they know.”

    Furthermore, physical location might not matter. If you're really good, you can work from where you are. But you have to build that momentum.

Re: "Tired of FUD" Followup: Where the Jobs Are
by bageler (Hermit) on Feb 15, 2008 at 01:12 UTC
    As part of the interview team at my company the biggest problem is not a lack of programmers but a lack of skilled programmers. For as long as I've worked here we have had openings for perl programmers, we just have difficulty finding any that are worth hiring.