I'm constantly seeing emails sent by recruiters that go something like this.
Seems like a good idea on the surface. If the person you want to hire isn't interested maybe they know someone who is. However, most of the really talented people I know consider this approach to be a major turnoff. I think it's helpful to think about hiring top talent in terms of dating. If you're trying to start a relationship, which opening line do you think is going to produce better results:
It's obvious that if you go with option 2, first you're an idiot and second you have many lonely nights ahead of you. The hiring dynamic isn't all that different from dating, especially when you're pursuing top talent. In a very real sense these people need to be courted. If you ask for a referral in your first communication with them it might not sabotage the entire relationship but it's certainly not going to help.
Now I don't want to throw the baby out with the bathwater. Asking for referrals is a good idea, but I think the right way to do it goes something like this.
First tell the candidate that you want to hire THEM, that you are interested in THEM, that you think THEY are a great fit for your job. If the candidate responds that that they're not available you tell them that you would really like to work with them in the future and to please let you know if their situation changes. Then, and only then, after it's clear that you are primarily interested in THEM but they just aren't available for whatever reason, then you tell them:
This approach makes it clear that you are primarily interested in the candidate, that you value their opinion, and when you do finally ask for the referral, you're not some dirtbag trying to date both them and their friend. Instead you're a colleague who is asking for their help as an advisor. Plus, when you make it clear to the candidate that you value their skills and insight, they're going to be much more likely to contact you when their situation does change.
Many companies I speak with are surprised at how much difficulty they have when trying to hire programmers. The fact is that even though unemployment is high in the overall job market, in the software development world there is a huge shortage of experienced programmers. This means that employers are facing a lot of competition when it comes to hiring these people . Here's a few tips that might give you the edge over your competition.
Notice I didn't say a long job posting. It's not about the length, it's about the content. Programmers can be a cantankerous group of people. They get aggravated quickly and one of the things that aggravates them most is when someone with hiring authority appears to have no idea what they're talking about, or even what it is they're looking for.
For example, I've seen many postings that go something like this:
Verbiage like this is like a blinking red light, warning developers that they don't even want to talk to anyone from this company. The problem is that the employer doesn't know what they want, and they appear to not even know enough about web development to list the basic skills required for the job.
Something like this would be much better:
The text above targets the technology we're hiring for and then gives enough technical detail to 1) enable the applicant to determine if they're a good fit and 2) make us sound like we know what we're doing and might be a good place to work.
Reaching this level of technical detail in a job posting can be difficult for a person without a programming background, but it's not that hard either. Just go to Dice.com, do a search for the type of programmer that you're looking to hire, and copy the description from that posting. Now customize that description to fit your needs, but don't post yet, there's one more step. Find someone in your circle of friends/family/advisors who is a programmer, send your posting to them and ask them if it looks right.
BTW, these principles also apply to the interview and phone screen. If you don't have the technical background to adequately talk with a programmer about the job in technical detail, then it would be a good idea to have that person from your circle of friends/family/advisors sit in on the interview, even if they don't work for your company. This will give you the opportunity to get a clearer picture of the applicants skill level and it will also give the applicant a much better impression of your company.
Now that you have your job posting written, where do you post it. The first answer is Dice.com. Dice has emerged as the undisputed leader in the programmer job board niche. Most programmers will check Dice when even passively interested in a new job.
Good programmers often attend local meetups or user groups for the technology that they work in. If you're hiring a PHP developer in Colorado, do a Google search for "PHP meetup user group colorado". That should give you a pretty good list of the local groups. Then contact the top one or two groups and ask them if they can announce your job at their next meeting. Ask if they have a job board or message board that you can post to. Ask them if you can give them $100 to sponsor pizza for their next meeting and if they would let everyone know that you're hiring and put your contact info up on the board. Most user groups are happy to do things like this and they're a great way to reach the local developer community.
Craigslist.com is a great hiring resource and it's cheap. Most programmers I've spoken to do not check craigslist as part of their job search but at a price point of $25, it would be foolish not to use it. Monster on the other hand is going to charge you about $400 for a job posting but they're still worth using since a large percentage of programmers still seem to check monster.
Social networks can be a great way to let people know that you're hiring. To make it work you need to have a web page that shows your job posting and gives people some way to apply (even if it's just an email link). This should probably be the jobs page on your company website. You then share the URL for that page on Twitter and LinkedIn along with a short message that says "Mario and Associates is hiring an ASP.Net Developer". On Hireflo, we recently added tools to make this process super-easy and we've seen pretty good results, especially from Twitter.
Dice and Monster both offer resume searching options. The problem is that 1) they're very expesive and 2) you're going to have to spend a lot of time to reach jobseekers who are currently looking. My experience with resume searching is that I spend a lot of time identifying a list of candidates who look good, then when I try to contact them about 1 out of 5 will respond to my phone call or email. Of those that respond, about half either recently accepted a new job or are already deep into the interview process with another company and are about to take a new job. So you can find good candidates through resume searching, but you have to move fast and it takes a lot of work. These people are already being bombarded with calls from every recruiter within 200 miles.
I think this is the best method but nobody ever uses it because it doesn’t produce immediate results. I get lots of questions along the lines of "I need a Ruby developer yesterday and I can't get anybody to return my calls. How do I find someone??" My answer goes something like, "Okay, first you need to go back a year ago, then you need to attend local meetups, user groups or Ruby forums, ask your current developer who the best Ruby people in the area are, then whenever you meet someone who seems really good add them as a connection on LinkedIn. Do this for a year or two and then when you need a developer just share that message with your LinkedIn stream. Then you need to send direct messages to the Ruby people in your LinkedIn connections and tell them you would like to hire them. If they respond that they aren't avalialble, tell them that you hope the timing will work out some time in the future, but for now do they know anybody who would be a good fit." Nobody likes this answer because there's no immediate pay off, but if you're reading this now, and you know that at some point a year or two down the line you're going to be that person trying to hire a developer, now is the time to start.
Something happened to me the other day that illustrates a valuable lesson for any of us who are responsible for hiring.
I was presenting at a local event and afterwards a very nice and energetic guy came up and wanted to talk about how HireFlo and a company he was involved with could work together. He went on to explain that his company had developed a survey that had been making it's way around the local tech companies. The idea was that when a candidate wanted to apply for a job, they would click on a link that they think is going to let them submit their resume, but instead they would get this survey. They would then be forced to fill out the survey before being allowed to submit their resume.
I'm immediately skeptical. Any automated system that functions as an obstacle to applicants is just one more chance for top performers to decide that this opportunity isn't a fit and bail out of the application process. So this isn't something I would do, but I didn't want to be rude so I offered my card and tried to move on.
But he insisted that this survey is an amazing thing that has helped uncounted companies do a better job of hiring. They've spent years perfecting the questions. One example question he shared was "Do you kick ass?". Really. "Do you kick ass?" At this point I'm thinking that this guy is probably not providing a lot of value to the companies he's working with and there is definitely not a fit with HireFlo.
Then he dropped the bomb. The survey they developed, this wondrous document that can revolutionize a company's hiring process takes 2 HOURS TO FILL OUT. That's right, 2 hours! He didn't even blink when he said it. He thought it was great. He told me that his clients who used to get 200 or even 300 applicants from a craigslist ad are now getting a much more manageable 2 or 3 applicants, and that only the most serious applicants make it through!
That was it for me. I couldn't take any more. I asked him how he thought that kind of obstacle to submitting resumes would affect the quality of applicants that his clients received. He insisted that the survey was not an obstacle. I replied "You just told me it takes 2 hours to fill out, to a jobseeker that's an obstacle". Okay, he said it improves the quality of applicants. I told him that it absolutely does not. Nobody with talent is going to subject themselves to a 2 hour questionnaire for the privilege of submitting their resume. Talented people have their choice of opportunities. They are smart. They are productive. They have options. When you're looking at the 99% of applicants who chose to bail out when they hit that survey, I guarantee that the top performers were the first to go. So who made it through? The most desperate and inexperienced applicants, that’s who. People who had no better options.
This is an extreme example, but there's a lesson here for all of us. There's always a lot of interest in optimizing hiring processes. In today's job market where we're buried under an avalanche of resumes, it's common to think that the right way to optimize is to minimize the amount of effort required by employers. That's why this guy thought a 2 hour survey wasn't an obstacle. He was thinking only of the effort required by the employer. The jobseeker wasn't even on his radar. So is this really what we want? A process that helps us to reach the most desperate and average members of the applicant pool in the most efficient way possible?
I say absolutely not. Hiring great employees is incredibly important, especially for a small business. We should make it as frictionless as possible for top talent to submit their resumes and get into our resume pipeline. Yes we're going to get a lot of noise in there but we'll also get the top people who we're looking for. The right way to optimize is to then set up a process to identify and contact top applicants as quickly as possible (these people are interviewing within the first few days and rarely go for more than a week or two before getting an offer). This requires more effort, and often requires the use of tools that allow you to manage the applicant pipeline and share time critical tasks like the initial resume screen. But the end result is that you have a process optimized to hire the best, rather than the best of the worst.