Note: This document is work-in-progress. Please don’t publish it on news sites, or otherwise link to it in public without the author’s permission. Private linking is acceptable.
“3 Years Experience in Perl - Must”, “20 Years Experience in PHP - Advantage”, “Team Player”, “Independent Thinker”. Boring.
Your job ad need to stand out. Take this job ad that was posted to the Israeli Ruby mailing list for an excellent example:
We are looking for a developer who:
Want a full time, salaried position.
Want to work in a fun, young workplace.
Want to work in an environment that allows them to use (just about) whatever tools they wish to get the job done.
Knows and love Ruby.
Ideally have experience with PHP and Python.
Want to work on large scale Rails/Merb projects that have nothing to do with “the Social Web”.
Want to drown a puppy every time they hear phrases like “the Social Web”.
See? I also want to write sites that are not necessarily “Social Web”, and I also got tired of the “Social Web” and its association with Ruby and other similar technologies. So this ad has caught my attention.
As Joel on Software notes about experience, the reason companies want people with a lot of experience in a certain niche, is because they tend to overcome problems they encounter more easily and so can help themselves and their co-workers with their problem more easily. [LinuxSystemsProgramming]
However, as long as you have someone with enough experience, then bright people without a lot of experience can still prove to be useful and very productive. So don’t demand too much from them. As of 2008, there aren’t enough clueful developers in Israel for all the workplaces (and I think that’s also the case in most other locations around the world), and you can’t afford to be too picky.
Another tip I can offer to look for employees is to use specialised job boards like the the Joel on Software job-board, and jobs.perl.org, the DailyWTF “Non-WTF” board which highly-qualified and niche people follow. Just make sure to phrase your ad in a non-boring way, as I noted earlier.
[LinuxSystemsProgramming] For example, I have a lot of experience working on Linux and developing for it, with Perl and doing mostly Algorithms and Text Processing in C. Recently, however I got a job as a developer for a Linux Server-side C/C++ application (dealing with sockets, processes, threads, Unicode and other such advanced problems). While I made a lot of progress, I noticed that I often got stuck on many problems, for which I had no idea how to easily resolve. In this case, my co-worker who had more experience than me in this area, could often help me more.