If your workplace is boring, you won't be able to hire great developers. Spice up your environment before you even consider to start hiring. And even if your company is pretty neat: Are you sure it shows on the outside? Make PERFECTLY CLEAR why on earth someone would want to work at your place!
If your workplace totally sucks, don't read this, start looking for a new job yourself right away.
Also, I am assuming that you have at least some influence. Maybe you're the
head of department or a group manager. Or you are a smart specialist who has a good
relationship with their boss. Even if you're "just" a regular worker bee, it's
you who will have to work with a bad hire. So, get involved!
Maybe you have been neglecting workplace improvements recently, and companies you read about on Tech Crunch seem way more cool than yours.
Then make sure to write a great ad. And to spice up your work environment before the great applicants you found tell you "no thanks".
Imagine the coolest yet smartest programmer you can think of. Probably in his (or her?) late 20s, has worked for Google and Twitter, writes JavaScript libraries for breakfast, Ruby and Scala during lunch break, and JEE frameworks during his spare time. HOW on EARTH can you attract him? Admittedly: Not at all, he made millions selling his college startup... But you get the point. How could you attract someone similar? Write an ad with this person in mind!
Most documents you write are irrelevant. Consider all the concept papers or status reports you write day in day out. Most of them are in preparation for meetings, and you could probably get away with a very basic document as long as your explanation is good. But the ad is different. There is no way you can explain stuff in case you missed something. The ad has to be awesome in itself, or it won't attract great people.
To achieve the right state of mind, imagine you had to present the ad to your CEO. You wouldn't want to disappoint your CEO. Write it that way. After all, she might stumble upon your ad anyway. Try to impress! Spend at least 16 hours on it, split across a few days, ideally with a few coworkers. Not less, rather more time. This is one of the few important documents you'll write this year!
Approach it iteratively. Version 1 of your ad won't be published. So write an ad that would be super cool to have. In version 1 you can make a few things up, and exaggerate! It's brainstorming time.
What could interest this perfect candidate? Write it down, even if it seems a bit ridiculous. Ask your internal developers for help. What would they want from a perfect employer? Money, sure. Fame? Better work-life balance? Cooler tools? Ergonomic chairs? Technical challenges? Sure! Also, most great developers want influence on what and how things are done. Can you write that too?
Read cool companies' job ads. Incorporate their good bits into your "super-ad".
You probably made a few claims that are outright lies. But before just discarding them... Think hard. Are some of these crazy claims partially achieavable? Let's look at some sample lies and what to make of it:
Sample lie number 1: "You decide what to code, and how"
Imagine you wrote "Total control over your work: You decide what you develop"? Now, that may not be possible.
How can you come close? How about 20% time, which was invented by 3M, made popular by Google, and successfully implemented
at Atlassian. Sure, it sounds insane to allow developers to work one day a week on their own project.
But you can set some guidance, like "your own project, as long as it is related to our product line in some way". Also,
most developers never take 20%, it frequently turns out to be merely 10% time. And even if a top developer spends 10%
on innovative projects that never take off : He is probably twice(!!) as productive during the remaining 90% of his
time compared to an average programmer. It's still a massive win for you. So, "You develop what you want" can be toned down to
"We offer you full control every Friday". This will help immensely to attract great developers, and you can afford it.
Sample lie number 2: "You influence our product/project decisions"
Right now, this might be a total lie. Your Product Manager or CEO is in charge, and the developers "just do" what told. Most
average developers are fine with this. Most great developers are not. Can you think of ways how great developers
could participate? It wouldn't be advisable to fire the Product Manager and ignore the CEO. But -- would it be so
crazy to invite the top developers to the product manager's planning meetings? Even before
you hire, you should try this out. Invite your 2 smartest devs to those steering committee sessions, tell
everyone they are mainly advisors, not deciders. Now your ad is no lie anymore, it hasn't cost you much, your
internal process has improved, and your chances at hiring great developers have improved.
Sample lie number 3: "State of the art technology. You decide your dev environment"
Every great developer hates being locked in to use tools they don't like : "In our shop, you have to use Eclipse on Windows".
Or "We only use Mac. Live with it". Standardisation is often helpful to limit complexity. But it is the nightmare of
great developers. Great developers need to be able to use the tools they want. If your company policy has been "You must use X",
change it now! Encourage developers to decide maybe between 2 or 3 common configurations (to reduce complexity). Sure, getting
new computers is expensive. But so is the opportunity cost of not hiring great developers. Make your dev workstations
look good and expensive, so you have something to brag about during the office tour. And to make your claim at least
somewhat honest.
These were just 3 random ideas on how to turn outright lies into a decent compromise, which will help attract great developers. And that's just the start. You know your own organisation best, you know best what you can afford to offer, and what positive vibes you already have. Make sure the world sees it!
Chances are that, despite some great claims, your ad still contains lots of fluff. Things nobody cares about. Throw those superfluous statements away.
Requirements Section
"You must know framework X, y, z, a, b, c, d and e. Would be great if you knew framework g, h, i, k, t77 and t988.".
Unless it is absolutely crucial, don't write
it. Great developers can learn anything very quickly. "We work with Java 6 and core frameworks like a, b and c, and
expect you to be a quick learner" does the job. The shorter the better.
Day to day tasks
What will the new employee be doing. This is the section that has to be really inspiring and
cool, despite it being mostly dull work. Everybody knows there will be routine jobs like bugfixing, maintenance and estimating tasks. Unless the job
is exclusively about boring tasks, make sure the boring tasks get as little mention as possible. What are the fun things
the developer will be doing on a daily basis? What the the cool aspects and opportunities she can pick from? Focus on those!
Just to make the point, check out this random ad:
Cars sell by their image, not by their technical details. That's why 90% of the ad space is taken
up by a great picture. Sure, you don't write job ads like that, there needs to be some more content.
But consider the average job ad. Instead of using 90% of the available space to attract staff,
it just uses 20%, while 80% is clutter and reasons not to work there. Imagine the above
ad had been written like a typical job-ad. It would probably look like this:
Would this ad make you want to buy the car? I hope not!
Investor-gibberish
Most ads contain stuff no developer cares about. Like "Our company is a strategic business parter of
bla bla bla". Stuff that might have been written for investors back in time, but which does not help attracting great developers at all.
Throw it away, even if it means arguing with marketing droids for a while. You want developers, not investors! The less clutter
the better.
Think hard about where where you advertise. Just because your organisation "always uses magazine X", doesn't mean your department has to. Also, it is usually a lot more promising to place an ad on many small techy websites than to put one expensive ad into one newspaper or onto one non-technical job website. Instead, search Google with keywords that you expect job-seekers to use. Then see which job sites return decent results. Those are the jobsites you want to start with. Also, consider placing adwords. Consider contacting interesting Open Source projects that are strapped for cash, maybe you can advertise there. Consider placing ads on geeky web cartoons. Whatever. Just don't be content with Monster.com or the like. I don't recall having hired a single great developer via Seek (the major aussie job board). Maybe there were some, but usually Seek produced the lowest quality applications.
Build a job mini-site
Make sure your ad also lives on your own website! Have an extended version there, which goes into more detail.
People who come looking for your ad on your website will want to know in more depth what you have to offer.
Most job websites have limited space. But there's nothing stopping you from creating a whole mini-site that makes clear
"why should you work here". Pictures from the last company events, office snapshots, links to your developers' blogs and
flickr streams, tweets, and more. Very few companies dare put pictures of their staff on their core websites. If you do so
on your mini-site,
you will stand out and attract more developers!
As an example, check out the Atlassian 32 campaign mini site. Perfect! (In fact,
the campaign is still on!)
Search Engine Optimisation
Your ideal candidate is someone who isn't really looking for a job. Someone who just occasionally gets frustrated by
their boss, and randomly pokes around on Google, Twitter, Facebook for up to 5 minutes. But not longer.
Make sure your ad can be found before your Ideal Candidate calms down and stops looking!
All typical SEO techniques apply.
Simple example: Compare the followng URLs:
www.mycompany.com/adx/1231123.html
vs
www.mycompany.com/jobs/berlin/java-and-javascript-developer-wanted
Guess which one gets you better Google ranking? Often, it's that simple. Just ask your current best developers what keywords they'd be looking for. And then ask your marketing staff how to apply all SEO best practices to promote that ad.
Example: Some keywords are obviously hard to compete for. Want to be found on terms like "Java jobs"? Unlikely you'll make it. But maybe you're using some less mainstream technology too? And can combine it with your office location? Even with a new and unknown website, we were able to score "CSS3 job" on Google Page 1 in Germany, twice:
We'll drop once CSS3 gets more traction. But then there will always be "CSS3 jobs Berlin" or "CSS3 Berlin"
Another hint: Put at least a few relevant (and related, techy) blogposts onto your site. Actual content is great for your page rank. Not to mention that it's great for your street cred too. I know, I know, the marketing people want your site to be "professional" and non-techy. Another good reason to start a recruiting-mini-site that's visually clearly separate from your core business.
Ads suck. Well, not entirely. But your best bet is to work your network. At Atlassian, 80% of successful candidates had been recommended by employees or their friends. A $10.000 referral bonus didn't harm! Paying 10 grand is a lot of money, but a hell lot cheaper than expensive ads, or (God forbid!) paying recruiters!
Our company Small Improvements on the other hand is a small startup developing software for performance appraisal and 360 degree feedback. We can't afford to pay anyone $10K! Probably you are in a similar situation. But we can afford €250! Which isn't too bad for a student job referral. It turns out, our first employee was referred by a friend of his, who had seen our ad but didn't need a job. Sad to see those 250 Euro go, but great to see a smart junior dev join the team. So, it doesn't have to be huge bonus, anything is better than no bonus.
All these things combined, we were able to write a decent ad which appeals to student developers. It's honest about us being tiny and not even having office space yet. But it highlights all the advantages we have compared to larger companies. We can pay a competitive student salary, but not insane amounts. Instead, we do offer MacBook Pro's to students who don't have their own decent work gear. We offer 20%, new technology, work-from-home, a steep (paid!) learning curve and opportunities to go beyond mere coding. And thus we were able to get some really great applications. Mission accomplished.
Writing the ad is only the beginning. The next articles focus on weeding out low performers. But if your
ad is poorly written, there won't be any great applicants in your inbox, and no weeding and interviewing can change that.
So, do spend a couple of days considering how to make the ad truly great.
Continue to part 2: Pre-Screening the applicants