(My standard rant on job adverts - not aimed at startups per se - but so much of it seems to apply to startup ads too).

You're dealing with four groups of people:

1) Qualified: the people who have the skills you need and would want to work for you

2) Unqualified: honest folk who either don't have the skills or don't want to work for you

3) Deluded: people who think they can do the job despite the fact their computing experience consists of knowing somebody whose cousin owns a Playstation

4) Liars: people who know they can't do the job and will lie to get it anyway

So you want to:

* convince that first group that you have a wonderful job working for a competent company that's just right for them

* convince the others that they shouldn't waste everybody's time

Two big problems:

1) Almost by definition the Qualified are in work. Why wouldn't they be? So you need to make sure that you're going to make something attractive enough for people to consider jumping ship for.

2) It's a complete bugger to get rid of the Liars and the Deluded because... well... they're liars and deluded :-)

The good news is that the Unqualified are happy to exclude themselves if they're given enough info. They don't want to waste their own time applying to stuff they they know they're not going to get.

So - how do you find somebody decent?

1) Best way is personal recommendation. Network away and see if anybody you know and trust knows somebody who would be interested. Assuming you have vaguely sane friends this is almost guaranteed to exclude the Deluded and the Liars. Huzzah.

2) Second best way is to use a good recruiter. Unfortunately, in my experience anyway, good agents are rarer than gold dust in the IT industry. Unless you have a personal recommendation from somebody I'd steer clear.

3) The absolutely worst way to find somebody is a job advert - but sometimes we have no choice ;-)

So - how do you know if you have a decent job advert?

You know the sort of person you're looking for. Pretend you're that person sitting in a fairly comfortable job, with a reasonable salary, but feeling slightly bored with your current work. Remember you know nothing at all about your company and the work you do. Read your job advert. Do you want to apply?

If not you may want to consider my Patent Pending list of how not to write a job advert :-)

1) Lie. Nothing attracts that ideal recruit more than showing up at the job interview to discover that the salary is ten grand less than was advertised and that they can't telecommute like the agent told them.

2) Bad spelling and grammar. Would you trust a company that cannot even check the spelling on their job adverts?

3) Bad technical terms. The Qualified are not going to apply for a position as a "PERL programmer with Central Gate Interface experience" :-)

4) No company info. Put your company name and URL on the advert. Good candidates will want to google you and find out whether they want to work for you. Let them. That way you'll let the Unqualified filter themselves out. Does googling your company results in stuff that would make the brave run away screaming? If so fix that first :-)

5) Bad job title. Treat the job title like the subject line of an e-mail. It should be informative. It should be an abstract of the job. It should not be "Programmer" or, even worse, "GREAT POSITION IN TOP COMPANY!!!". Something like "Perl/mod_perl e-commerce developer". The Qualified are only skimming the job ads to keep a weather eye on what's happening. Don't give them an excuse to skip over the ad. Being specific also makes it harder for the deluded to remain so.

6) No salary. At the very least quote a range. The Qualified are probably working and need to know whether it's worth their while to jump ship. It's also a good indicator of what kind of role it is. This will let the Unqualified filter themselves out and reduce your pile of useless CVs.

7) Over general terms. Don't say "Perl programmer" say "Perl programmer. Must have experience writing OO modules and unit/acceptance testing of web based applications". Make it easy for the Unqualified to filter themselves out. Make it harder for the Deluded to delude themselves.
Not knowing the difference between a job requirement and "it would be nice if...". Make the difference obvious in your advert. Far too many ads are a shopping list of every possible thing that might be vaguely useful. Are you really going to reject the perfect candidate because they only have four rather than five years experience? Are the Qualified going to spend the time figuring out what the job actually involves? Nope - they have lives.

8) Hiding the job requirements. By the time they've got to the third paragraph of market speak about how wonderful the company is the Qualified's eyes are glazing over. Job requirements should be front and centre.

9) Not saying what the job is. For god's sake mention what they'll be developing. It's one of the things that attract the Qualified. At the very least mention the domain.

10) Not mentioning the work environment. If you have a small agile development team using TDD then you don't want somebody who uses RUP in a group of forty, or somebody who will only telecommute. So let them filter themselves out by saying so.

11) No location. People want to know where they'll be working.

Remember - you want the best person for the job, not the most desperate. The best people are going to be comfortable and happy to skip things. The desperate are going to read everything.

So, get the attractive stuff that will capture the best up front where they'll read it.