Follow-up to “How to Hire Me”
This is a quick follow-up for the curious. I usually spend a lot of time primping my posts. This one is going to be a little sloppy.
It’s been an interesting two weeks. After my post hit the front page of Hacker News I suddenly got a lot of attention. Hiring appears to be tough (almost) all over. (Sorry Finland?) I got emails from people around the world. I was offered an opportunity to speak at a conference. (Declined, wrong coast.) I was also offered the chance to rework my post for an online magazine. (Accepted, yay.)
Some themes popped up in the emails I received.
“What is wrong with our job ad? / Why aren’t people applying?”
Well, honestly, the biggest problem is that you need a job ad. No one seemed to really, truly take the message of “get out and meet programmers” to heart.
Many folks seem to think that by placing an ad somewhere – anywhere, really – that they should automatically see qualified developers appear in their inbox. Like a pizza, I guess. Since no one is really listening to my core message, the next best thing I can do is to try to answer the question put to me. Here goes.
Tips to Improve Your Job Ad and/or Recruitment Email and/or Make Developers Love You Long Time
Step 1: Stop talking about your company
Step 1a: Really. STOP TALKING ABOUT YOUR COMPANY
UPDATE 4/7/2013: If your organization has an emotionally compelling cause, feel free to share that right up front. But don’t bullshit yourself into thinking that anyone cares about how you’re “leveraging social widgets” or “redefining accounting for dentists”. For most positions, caring happens after the emotional hook of other aspects of the job. Which is step 2…
Step 2: Appeal to my emotions
Pictures and video and describe the location and work environment and what I’d be working on and who I’d be working with, OH MY!
Step 3: Tell me what you need:
What problems do you need me to solve? What technologies are you using right now? How do you imagine I’ll fit into your team?
Step 4: Okay, *now* tell me what your company does. Concisely.
Don’t say “vertical integration” or “SaaS”. You do some actual thing, I know you do! Say what it is.
Some Other Thoughts You Might Consider If You’re Struggling To Hire
Get your existing team deeply involved in the hiring process.
Let people work remotely.
I’m not talking about offshoring. I’m talking about expanding the radius of your talent search and if someone awesome lives a few hundred miles away, learning to make that work.
Move your dev team
to where workers are more plentiful or the lifestyle is more appealing. Ahem.
Change your technology stack
to one with more developers. OR change to a stack that requires fewer developers.
Require less expertise
This does NOT mean lowering the bar. One mark of a strong developer is curiosity and the desire to work on new things. There’s a curious phenomenon in the industry right now where employers seem to want to throw programmers into niches but then complain about the lack of talent. Meanwhile programmers get stereotyped into narrow ruts because of what they’ve worked on in the past. Nuts to that. Think outside the box a little bit.
Look at who is hiring.
Sometimes the person doing the hiring isn’t the right person for the job.
There’s this saying: “A’s hire A’s and B’s hire C’s”.
I can’t source that quote right now but I seem to remember hearing it years ago from Joel Spolsky. Anyway, I bet some people read that quote and think it’s about brains. It’s not. It’s about being ok with building a team of people who think differently than you, dealing well with being challenged, and letting others lead when appropriate. The bottom-line is that the person you have making the hiring decisions might be uncomfortable working with people they perceive as a threat or independent thinkers. If that’s the case, you’re screwed because your team can never possibly rise above that one gatekeeper’s competencies.
ALSO
Some people have asked if pairing is really necessary to evaluate a programmer. Clearly not. I have a friend who swears by another process altogether: He asks that the candidate send in some sample code. It could be anything, it doesn’t matter. Then my friend looks over the code and sends back an email with questions and maybe a request for a change. This starts a dialogue that may go on for days or weeks. Ultimately he has a sense of the candidate’s skill level. And then he brings them in for a face to face interview. The point is that he’s getting a real sense for how the person handles problems. He’s not creating an artificial context and asking for solutions to artificial problems.
Thanks to everyone who wrote in or tweeted!