LINQED.NET

This blog is about .NET and related technologies
By Vlad Azarkhin

How To Hire Great Technical People

Inspired by Oren’s post "How to get good people", I thought I could share my own experience with you.

“Good developers don’t look for a job”

Being a CTO of the last company I’ve worked (RANSYS Ltd.) , I was directly responsible for hiring all the technical staff. So I’ve literally interviewed hundreds of developers, testers, sysadmins, analysts and sometimes even secretaries and helpdesk persons. Maybe it was just me, or my high standards, but I was so unimpressed by a vast majority of candidates I’ve interviewed, that after a while I’ve came to the same conclusion Oren and Joel Spolsky have come: good people don’t look for job, they are so good that they are being suggested new jobs all the time.

So I’ve started implementing Joel’s philosophy by head hunting. I’ve intended conferences, looked through acquaintances, friends, family and so on, lead by a mantra of “good developers are always employed and I have to convince them to defect”. The thing is, contrary to my assumption back then, good people are actually loyal to their workplace, and not every one of the is hunting for dollars (or shekels). Moreover, you have to be very very convincing to have someone move to your company. Unless you have go some unusual challenge to offer, convincing sometimes means unreasonably generous . As we live in a business world, the CFO will not usually approve the salary you want to offer.

So… back on a track than: “wanted” ads every Friday, requests to personnel  recruitment companies, emails to everywhere, jobs web sites…. Sometimes you’ll be extremely lucky to find someone very fast, in most cases it will take 2-3 months of search, and sometimes much much more.

So what to do?

As you’ve probably understood finding good people is hard. Very hard. Trying to help you out a bit, I’ve gathered here a small list of 10 suggestions, that might help you find the technical person you need. A little disclaimer: the methods and tips I describe here are from my own experience. I’m not an expert recruiter or psychologist. They are just suggestions, so don’t take them for granted.

  1. Trust HR with care to screen CVs. I wanted to write “don’t trust”, but it’s unfair. The HR managers and recruiters are the nicest people in the company, however, they usually don’t really know the difference between WCF and WPF. So you better give the exact criteria for screening out the CVs, like 2 out of 5 buzzwords absent. In addition…
  2. Educate your HR recruiter. Rule number one: the recruiter is your best friend! Rule number two: you need him or her to at least understand the buzzwords which you provide them. You’ll also have a nice experience teaching nice people strange things. In addition, teaching someone else always does good for understanding things yourself.
  3. Don’t disqualify the CV based on your own perceptions. Don’t trust your perceptions about person based on his ethnics, last workplace, age, origin or whatever. No matter what, you perception will rarely match the person when you meet him or her. The important thing here is to know you stereotypes, to be able to recognize them and disregard. Just think of the last CVs you’ve disqualified, and truly ask yourself why have you dropped this one?
  4. Do phone screening. Spare you time and do an initial phone interview first. Unless otherwise stated (about this later), the in-person interview suppose to last at least 30-40 minutes, while phone interview can last 10 minutes tops. Moreover, it saves your candidate his precious time (yes, he or she is a person too!), and shows that you are very serious. Your goal is to understand in 5 minutes whether this person suits you technically. Don’t ask personal questions, check only technical suitability. It is important to ask personal questions in-person, while watching person’s reaction and reading his or hers body language.
  5. Try blitz interviews. I’ve learned about this from the last recruitment company I’ve worked with: Tema. At first, I was skeptical, but I’ve really saw great results. The idea is very simple. Schedule 2-3 hours for interviews and try inviting 10-15 candidates every 10-15 minutes. When inviting, state implicitly that he or she is invited for a blitz interview which will last 10-20 minutes, and get their approval for this; if there is a hesitation, invite them for a full interview. If you do it correctly, 5-10 minutes are enough to disqualify the person, and because not every invited candidate appears, you’ll have about 20-30 minutes to dive deeper with others. Now, because this kind of interviewing is gentle there are important points to keep in mind:
    1. It is advised to keep the interviews outside of the company’s office. This way you don’t have to explain much about the company, and you’ll also avoid interruptions.
    2. Do the interview together with someone else, like to HR manager to compare impressions.
    3. You need someone who will schedule the interviews and will manage the candidates queue outside of the interview room.
    4. My best advise is this area is to get in touch with Tema and trust them to do the great job. People you select can then continue to next stages inside the company. My best hiring experiences come from working with Tema.
  6. Make impression on candidates.  Be nice, you never know when you’ll meet them again. I once interviewed someone, but his expectations about the job didn’t quite meet my needs at that time. About six month later, when I was really desperate about finding a good developer, this guy have suddenly called me and asked whether we have openings. He’s got so great impression about the company and about me, that he was eager to start working there. He is one of the greatest developer I’ve ever hired. (BTW, he’s left the company when I’ve announced my leave)
  7. Always return answers to candidates. There are many companies that only return positive answers, not the negative. It is very important not to keep the candidate in the dark. As I’ve mentioned before, he or she is a person too. Returning answers, even by email, indicates some sort of “thanks for your time”, and helps obtaining a good reputation among candidates (more on this in a minute).
  8. Take care of your company’s reputation among employees. Make candidates want to come to you. Great technical candidates are looking for a company that works with the latest technologies, does interesting  things, takes care of the employees, and that has a good reputation. They want to be proud telling other where they work. So invest in marketing and marcom. Network, appear on conferences yourself and send your developers, if you can, speak up or, again, suggest it to your developers. Treat your employees right, invest in their technical education. Do company or department “bonding evenings”, it doesn’t have to be fancy – a couple of beers on the roof of one of the employees is great.
    Always try to work with new technologies. Great developer will not be enthusiastic working with VB6 or even .NET 2.0 these days.
    Buy an LCD TV and a gaming console, or whatever make your developers want to come to work.
  9. Always look for technical people. Not just when you need them. According to Murphy’s you will find great developers only when you’re not looking for them. So even if you don’t have openings, act as you might have, and when you find someone either try to convince your CFO/CEO that you absolutely need this person, or just write down his or her details and try your luck the moment you have an opening.
  10. Give candidates a chance.  This is the last and the most important piece of advice. Don’t over screen the CVs. Have a good reason to disqualify one, and write down this reason for yourself and to your HR manager or recruiter. If you aren’t able to write the reason down, you don’t have a good reason to disqualify! If you afraid of spending too much time interviewing, try blitzing (5), or shorten all the interviews to 30 minutes – that’s perfectly acceptable when stated in the beginning of the interview.
    Allow candidates to talk. Around 90 percents of the time the candidate should talk.
    Don’t give them questions on internals of GC – nobody really knows what’s going on there, and if one will need to know, he can google for it.
    When I interview a technical person I’m not looking for a deep technical knowledge only in areas that really important to my company. With the amount of technologies available today, no one can know everything. This is why Google exists. I’m looking for qualities that are hard to learn or inquire like honesty, loyalty, and learning abilities.

Although in those days there are much more job seekers than positions, it is still very hard to find a great candidate, so those suggestions are still in act, even today. The fact that the demand for positions is much higher than the supply doesn’t give an employer a mandate for a nasty and patronizing behavior with candidates. Remember, the crisis will end, and the supply of available candidates will be much narrower. Take advantage of the situation and show the candidates how fair you are, even in those days. You will be remembered even in two years.

Another important disclaimer: this days I’m actually looking for a new job. I’ve tried to be objective, writing this, however, it might be slightly affected by my current situation. Next time I’m planning to write some suggestions for job seekers. Stay tuned.

Good luck!

Comments

kolbis said:

Well put..I agree

# November 30, 2008 10:20 AM

Your Publicity To You » Blog Archive » How Hire Great Technical People - LINQED.NET said:

Pingback from  Your Publicity To You  » Blog Archive   » How Hire Great Technical People - LINQED.NET

# November 30, 2008 7:42 PM

Kim said:

thanks for sharing...

# December 1, 2008 3:07 AM

Ziv said:

Well Said. You've mentioned importamt issues to consider.

I'll personally add:

- Make sure to test personality and human attitutes and it's correlation with your company culture

- Prepare the right questionnaire and then check it, even if it takes extra time

- Write a feedback on each interviewer at the end of each interviewing session  

# December 1, 2008 1:00 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: