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.)
| [reply] |
|
Ah, but mechanic ads do come in a number of flavours, not dissimilar to programming:
Mechanic ad | Programming ad |
must have certificate and 3 years experience repairing motors | must 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 airline | must 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.
| [reply] |
|
Four word job req quoted to me by a recruiter in 1991: "rocket nozzle ceramics engineer."
| [reply] |
|
|
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.
| [reply] |
|
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?
| [reply] |
|
|
|
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.
| [reply] |
|
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.
| [reply] |
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.
| [reply] |
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.) | [reply] |
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? | [reply] |
|
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.
| [reply] |
|
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?
| [reply] |
|
|
|
|
|
|
|
Re: "Tired of FUD" Followup: Where the Jobs Are
by samizdat (Vicar) on Feb 15, 2008 at 15:03 UTC
|
| [reply] |
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.
| [reply] |
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.
| [reply] |
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. | [reply] |
|
| [reply] |