How (not) to write a Perl job ad
By this time tomorrow I’ll be unemployed, and I’ve got no job lined up.
As it happens, I’m not in a rush to find another position. I’ve got some funds and some personal projects and travel to keep me busy until I find something that appeals. But of course I’m keeping my eyes open for interesting opportunities, and I subscribe to a number of job feeds.
Here’s one that came down the RSS feed from jobs.perl.org. I also had it emailed directly to me by someone who saw my profile on perl.net.au and thought — despite the evidence — that I might be interested.
I’m not, and here’s why.
First, read the job ad. Go ahead, I’ll wait. (Note: Full text also included at the end of this article.)
Here’s my analysis:
Informative phrases
The following actually tell me anything about the job beyond the fact that it’s a Perl/LAMP job in Melbourne:
* South-East *(hmmmm, commute)*
* Advertising, Content & Customer Management Software *(ick)*
* intricacies of our custom-developed software *(uh-oh…)*
Uninformative phrases
Given that we’re dealing with a Perl web job…
* fast-paced Internet company
* range of business sectors
* strong understanding of the Internet
* emerging technologies
* Working with our programming team
* developing & modifying
* online software system
* capable of implementing new web-based applications
* navigate your way around an Open Source hosting environment
A special note regarding the list of technical requirements: they’re so broad as to be useless. Expecting a Senior Perl Developer to know Perl is a given. Apache and MySQL are also so commonplace as to be meaningless. Javascript’s pretty standard for web app developers.
What I actually wanted to know
* Description of the business: at minimum, its **industry sector** and an indication of its **size/importance** (“Startup”, “Small company”, “Multinational company”, “Publicly listed company”, etc)
* Who are your **clients**? Don’t just say “a range of business sectors”. Are they fish and chip shops, accountants, porn producers? Again, industry sector and size, if you don’t want to specify precisely.
* Who are your **programming team**? Give me some adjectives. Are they expert, widely-skilled, spread across three countries? A small group in a large company, or is the company mostly made up of programmers?
* Content? You have content on your website(s)? Wow. What kind is it?
* Which **emerging technologies** in particular? No, the World Wide Web no longer counts, I’m afraid.
* What’s your custom-developed software based on? Are you using **CPAN** modules, **frameworks**, or what? Mason, Catalyst, CGI::Application, HTML::Template? DBI? ORMs? Is it even object oriented?
* What development **toolkit** do you use? Version control, bug tracking, test automation, documentation tools?
* What development **processes** do you use? Waterfall, rapid prototyping, agile, none?
* What’s this Open Source **hosting environment**? Are you talking about Linux servers? BSD? Something else? Would I need to have sysadmin skills, or just be familiar with the Unix shell?
* As a senior developer, what **responsibilities** would I have, beyond simply cutting code? Would I be leading a team, making architectural decisions, doing project management?
Regarding the technical skills required:
* How much Perl do you really want? Just that I know the syntax? Specifying years’ experience is far from perfect, but at least it gives me some idea if we’re in the same ballpark.
* Apache what? Running a CGI script under it? Configuring and administering live servers? mod_perl? Writing Apache modules?
* MySQL what? Just database design and everyday use? Performance tweaking? Replication?
* How much Javascript? AJAX? Prototype, Dojo, YUI?
Plus:
* What are you **paying**? I’m sick of this game, and if you ask me what I want, I’ll add a zero just for the hell of it.
* How far would I have to **commute**?
And finally:
* **Don’t be coy about who you are.**
Some simple Googling reveals that you are 247ads.com.au, located at Level 1, 350 South Rd, Hampton VIC 3188, Australia. A couple of Whois queries tell me that b2csolutions, who posted the job ad, are not an independent recruiting firm but are probably part of the same organisation.
So why won’t you tell me that you want someone to build classified ads software?
Good thing I’ve got a “strong understanding of the Internet”.
The competition
I should probably mention that the Perl market in Australia is super tight right now. Heaps of open positions, hard to find anyone to fill them. My current workplace (til tomorrow) — a major national website and household name — has 20 Perl roles opening up over the next few months, and are offering no less than **$8000** kickback to staff who refer someone suitable. I know that the two other big Perl shops in town — both of which have staff active in the local Perl community — are hiring almost constantly.
Quite apart from those three, every single other Australian ad currently does a better job of trying to recruit me than 247ads does:
>”We require a perl programmer for work on a web-based learning management system (LMS) using mod_perl and Oracle. We are a small and friendly software development house specialising in building web applications. We are located literally ten metres from Brunswick Street in Fitzroy, Melbourne. We try to offer a flexible, casual and salesperson-free environment.”
>”We are a small dynamic team building and supporting the online systems used to manage and track the ongoing education of medical professionals. The college is experiencing significant growth and is therefore ramping up development of its online systems and requires additional developers. You will be required to be on site fairly frequently and therefore residing in or around Brisbane is desirable, however telecommuting will be the norm.”
>”Detailed knowledge of Perl, since almost all of the software in this area is written in that language. By way of illustration, if you have not at least considered contributing software to CPAN, or are not familiar with the changes in Perl 6, then this is unlikely to be the role for you.”
>”The culture is dynamic and it is an exciting time to join with their company set to double in size and expand globally within the next 12 – 18 months. As such there is huge potential for career progression. [...] The role requires you to work within a team that writes code to manipulate or mine data. They host their client data warehouse’s and often extract varied and different data to fit client specifications.”
>”Our client is a $1.2 billion revenue business across Aust/NZ. with an IT staff of 80+. Ideally we are looking for someone who has worked in a Perl OO environment with some Oracle (or similar) backend development experience to join a small development team to assist with their B2B web-portal that generates $800m p.a.”
Further reading
* Ovid’s Perl job ads rant
* Adrian’s Perl job ads rant
Appendix: Full job ad text
I’ve included the full text of 247ads’ job ad below, as I know jobs.perl.org removes listings after a while.
>Senior Perl Developer for fast-paced Internet Company
>* Full-time
>* Melbourne South East Location
>* Immediate Start
>We provide online advertising & web development services to a range of business sectors.
>We are currently undergoing rapid expansion and require a senior Perl Developer to join our team.
>Technical requirements:
>* Perl (essential)
>* MySQL
>* JavaScript
>* Apache
>The ideal candidate will be passionate about Perl development, enthusiastic about learning & constant improvement and have a strong understanding of the Internet and emerging technologies.
>Working with our programming team, you will be developing & modifying our online software system, including Advertising, Content & Customer Management Software.
>You will need to familiarise yourself with the intricacies of our custom-developed software, along with being capable of implementing new web-based applications.
>You will also need to navigate your way around an Open Source hosting environment.
Trackbacks and Pingbacks
Comments are closed.












This is a damned good post (by you, not by the recruiter). Not only does it have that cathartic flaming of the responsible party, it also is very informative about how to write a *good* job advert.
You’ve written a good resource for employers looking for in-demand technical folks. If only there were some way to encourage them to read it.
Thanks, bignose. (Wow, I feel kind of rude saying that.)
I think this is just a typical case of HR. Way back in the ’70s Robert Townsend [1] recommended sacking the personnel department and replacing them with “personnel consultants”, who would advise managers rather than insulating them from staffing decisions.
When it comes creating a job ad we often end up with a ludicrous case of chinese whispers. I tell my manager what I am looking for. My manager tells HR, but of course the manager isn’t that familiar with the sort of technical nitty gritty you want to see, so that is lost. Then HR goes to an agency. HR don’t really have a clue about the domain, so we wander further away from reality. Then the agency post an ad. The agent is probably either a complete idiot or a ruthless shark. The chances of any useful information surviving this process are vanishingly small.
[1] http://www.amazon.com/Up-Organization-Corporation-Stifling-Strangling/dp/0787987751
Congratulations on leaving your job!
brucef: Sure, that can happen, but when the market’s tight then it’s time to *stop* it happening. All the competition seem to have made a fair go of it.
Kragen: Thanks!
Hi Kirrily,
First off, we would like to apologise to you if we have inadvertently annoyed you to the extent that you felt you needed to post about our job position here on your blog. As you say, the job market for recruiting perl developers is rather competitive, and obviously our recruiting method to get the best responses wasn’t to your liking. We have found such methods to be a hit and miss affair in the past; either resulting in very good quality applicants or, dare we say, bottom of the barrel applicants.
Secondly, we would also like to thank you for posting a well thought out critique. As a result, we have taken some of your suggestions onboard and we will be modifying our advertisement accordingly. Naturally we can’t please everyone, but there are definitely reasons behind the decisions we made in our advertisement. Some decisions are based on privacy, some are based on trying to weed out undesirable applicants. You would be suprised (or maybe not) at how many applicants don’t even bother to read ‘perl developer’ and so send in their resume’s for ASP. Some elements of an advertisement are there to hopefully get an initial enquiry so a business can explain in more detail about the role, the business, and so forth… things that can be misread or misinterpreted, or there just isn’t enough room to explain. Of course, posting at jobs.perl.org means the audience is going to be far more targeted and so yes, cutting and pasting our advertisement from other more main stream job websites isn’t going to be as effective. Hopefully ‘bignose’ (as posted above) also mentions in their employers guide something about re-writing the job advertisement to suit the expected audience (if there is a link to that guide, we would love to read it!).
So again, sorry, thanks, but also good luck with your future plans!
247ads
247: Thanks for commenting. I understand why businesses think they need to be evasive in ads, but as you can tell I don’t always agree with those reasons. There’s probably a middle ground somewhere; I hope you have success trying to find something that works for you while still being informative.
Excellent – another rant to add to my reference list :-)
Yt nthr slf cclmd “prgrmmng gr” tht hs n cl hw t rn bsnss. “ jst wnt t b pd mr thn vryn ls nd tld m smrtr thn vryn bt dn’t lk bsnss…wh…wh…vl bsnss”. Ppl lk y drv s t tsrc t cntrs whr ppl r ctlly hppy t b mplyd nd dn’t dmnd w wrshp th stnk tht flls vry rm thy ntr.
Well, there’s the first outing for the new Disemvoweller. For the record, this blog requires a civil level of discourse. Ad-hominem attacks or personal abuse, whether directed at me or anyone else, will result in disemvowellment.
Disemvoweller? That’s seriously shiny! Or is that srsl shn? Whatever.
No! Please! Not the disemvoweller! Please dn’t – h sht…
Now now Fruity, I’m sure self-disemvowelment is not recommended (hmm… should it be one l or two…?)
Regarding the actual topic – the criticism was probably a *bit* harsh, even though I agree with most of it. It does seem bizarre that they’d not be open about who they are, and I certainly find it really irritating when they don’t mention the salary/hourly-rate range.
Compared with those, the remaining issues are fairly inconsequential. It’s nice when you see job ads that have technical specifics, but these days I’m just happy if (a) they don’t capitalise every second word (seriously, “developer” is not a proper noun), and (b) they don’t eg. spell Perl as Pearl.
“What are you paying? I’m sick of this game, and if you ask me what I want, I’ll add a zero just for the hell of it.”
Oh yes, yes indeed. All my posted resumes have at least double the salary I want, as I’m really not interested in working for someone who experiences sticker shock.
Really, if the difference between $25 and $100 an hour is the end of your business, maybe you need to find another business.
In addition to the fact that it means you’ll be working with the lowest bidder and/or their typical output…
PS gratz on the job, I’m right there with you :)
Justin: Hi! Good to see you here. I always have trouble with the salary thing because I’m not a particularly extravagant person, and can quite happily live in a comfortable style on far less than I’m actually worth in the market. And to be honest, I’d rather have a really great job that pays me just enough to live on and put a bit aside, than a shitty job that paid twice that. The problem is that it’s hard to tell which jobs are shitty before you start. It’s always better to let the company mention the first figure, in those cases.
Meh, I’m in the same position and find all this job applying stuff bullocks. Just coding at home during the day for fun and will get someone to pwn it when it’s ready for the market place.