Joel Spolsky had published an essay titled
Your Résumé Read” on his Joel on Software site, which gives very good
advice for job candidates
who want to apply for work. Today, I am going to cover the opposite direction:
give some advice for employers who publish job ads in hopes of finding
employees. I have seen my share of bad practises among the many job ads
I have read, and can tell which ones make me more willing to apply.
Before I start, I am going to share a small item, which I originally planned
to publish as is, and later decided to expand into this post, which I have
titled “The Worst Job Offer Ever”. After I wrote it, I thought that posting
something like that on my blog will make no one want to hire me ever again,
so don’t take it too seriously. I am not singling any particular “wanted”
Subject: BEST JOB!!!
A promising startup with a young, dynamic, environment is looking for a
talented software developer with the following skills:
* Considers the big picture.
* Ability to work under pressure.
* Willing to work for stock options.
* B.Sc./B.A. in Computer Science/Software Engineering or equivalent from a
prestigious university with an average of 93.1415% or above.
** M.Sc. an advantage.
* 10 years of experience in JAVA.
* 25 years of experience in php/Mysql.
* 1-3 years of experience in PERL, PYTHON, ror - an advantage.
* 10 years of OOP/OOD experience in C++ and COBOL - a must.
* windows/unix/LINUX sys admin experience (3-5 years).
Please send your CVs in MS Word format to firstname.lastname@example.org .
Sent from my iPhone.
I hope you agree that it is pretty bad. Now for the rest of the advice:
The first thing you should do is to spell the requirements precisely.
What does the candidate must know for the job? Please consider avoiding
giving a number of years of experience because this is annoying. “1-3 years
of Java experience” — are people with 4 years of Java experience
You should also give a precise description of the job: something
like “Ruby-on-Rails expert”, “Perl expert”, “UNIX Systems Administrator”,
“PHP expert” etc. That way people who do not match this description will
know better than to apply.
You should also use proper spelling, grammar, and syntax. Perl is not
Python is not spelled “PYTHON”, and it's MySQL - not “MYSQL”, “Mysql” or
“mySQL”. It's also “PHP” - not “Php” or “php”.
If you have a successful business or planning on having one, then you should
get your own
such as mycompany.com, set up E-mail hosting for it, and send the job
posts from there. Sending
from a Webmail provider such as “@gmail.com”, “@hotmail.com” or “@yahoo.com”
will make a bad impression, and indicate lack of professionalism.
You should also use a standard desktop, or a comfortable laptop
computer to type
and phrase the message - not a mobile device which results in more error-prone
-conforming messages. Make sure that your E-mail lacks any of the branding
or advertising signatures such as “Sent from my iPhone”.
Specify the formats in which it is possible to send the résumé, for
example Microsoft Word, OpenDocument Text, XHTML or PDF. This way the
candidates will know which formats they should send and you will have less
problems reading their E-mails. That is one thing the worst job advert I
gave did right, but naturally many people will appreciate the ability to
send in different formats to the proprietary Microsoft Word format.
Also specify whether it would be possible to send a link to an online version
of the résumé for easy viewing using your favourite browser, and avoid the
hassles of opening attachments and their myriad formats.
Please don't require an “ability to work under pressure”. Most developers are
naturally going to perform worse under pressure, and you should make sure
you avoid pressuring them as much as possible. In order to attract developers,
it is a good idea to advertise
that your company normally operates on no more than 40 hours of work in
a week — see what Evan Robinson has written about it in
Crunch Modes Doesn’t Work: Six Lessons”.
If you do have a pressured environment (which is unfortunate but a fact
of life), say “We have a pressured environment.” instead.
Another good idea is to encourage candidates to show off their open-source
projects and web-presence (home sites, blogs, etc.). However, “show me
your GitHub page” may
work for some people, but will leave a bad taste in the mouth, and will
offend some other people, because some people prefer some of its alternatives
You should spell the location of your offices (at least roughly) and
specify how much one can
telecommute, if at
Whatever you do, please don’t post the job ad to the same forum more than
once every few months. Posting the exact same position several times will
make people annoyed and they may complain, filter your messages, or request
that you get banned from posting on the forum.
It is a good idea to mention some of the software management practices
company employs, such as using version control, writing automated tests,
performing code reviews, refactoring, or pair programming.
Finally, as Joel mentions in the original essay, you should make your ad
stand out. One good
example was once posted to the Israeli Ruby developers mailing list:
Subject: Developers Developers Developers
Looking for developers 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
* know 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
This job ad (and especially the two last items) makes a stance, and makes
the readers feel empathic towards it.
Copyright and Licence
This document is Copyright by Shlomi Fish, 2012, and is available
terms of the Creative Commons
Attribution-ShareAlike License 3.0 Unported (or at your option any
For securing additional rights, please contact
and see the
explicit requirements that are being spelt from abiding by that licence.