Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm recruiting coders. The first step is to carry out a test to cut out the "chafe", but do I just make a decision based on the fact that the shortlisted candidates are the best in the world at coding? What should I look out for that would guarantee that the persons i finally hire are not only the best coders but also are the best fit for my company.

What should the tests exactly measure?

share|improve this question
2  
Chafe -> Chaff –  NickC Feb 25 '11 at 17:44
    
You haven't even said what your company does, much less the kind of people who currently work there. You should take an honest look in the mirror before wondering if other people will be a good fit. –  chrisaycock Feb 25 '11 at 18:13
    
@chrisaycock: according to his profile, he's working on an app to help people with hiring programmers, so I suspect he's after info to incorporate into his application... –  Jerry Coffin Feb 25 '11 at 18:57
    
Every company wants to hire "the best in the world" and most coders think they're the best in the world, so it should be pretty easy to get a match. And I'd see a doctor about that chafe if it persists. –  Paul Jun 24 '11 at 2:28
add comment

7 Answers 7

The mandatory read: The Guerrilla Guide to Interviewing

the shortlisted candidates are the best in the world at coding

Do you have the resources to crawl the entire world population?

Are you that good to attract the best in the world?

Many people do it wrong - they are "cutting out" people in an endless process while what the must be doing is looking for the first match then break the search.

What should the tests exactly measure?

You can only measure factual knowledge of some technologies, which will tell you nothing about their ability to get things done and more so about their particular way of getting things done. It's going to take a trial period to find out.

share|improve this answer
add comment

My company uses a "peer interview" process that has proven pretty successful.

  1. You do the first round of interviews and screen for technical competency. If you think a person is technically qualified for the job, you pass them on to the peer team.
  2. I select 3-4 high performers to be on the peer team. These members should represent a good cross section of your team.
  3. Don't send any applicants to the peer team that you wouldn't hire yourself.
  4. The team should have a scripted list of about 10 behavioral questions. The questions should be weighted and scored on a scale of 1-5. Example questions: how would you react in X situation?
  5. The same peer team interview all candidates for the same position and asks the same questions. This makes the evaluation quantitative.

This approach has several benefits. It gives applicants an opportunity to meet their peers, and it gives the team some ownership in selecting their own members. What better way to build a better culture by letting those already in the culture have a part in the selection process?

share|improve this answer
    
+1 sounds like a great way of doing things. Especially the culture building. –  KeesDijk Feb 25 '11 at 18:10
add comment

It's really hard to do this, I've been hiring for years and I still make mistakes. Finding someone to fit the culture is almost as important as how they code, if they are great coders but can't fit with out style they are useless. At my previous position we started a temp to hire program where every new person was brought aboard as a temp worker and after 90 days everyone sat in a room and decided if we wanted to bring them on fulltime. This worked really well to weed out some bad seeds and it also gives the employee a way out if they don't like the environment either.

share|improve this answer
1  
Just hope you don't have a weak team that shuns a great developer. Then you have to keep her and get rid of everyone else. –  JeffO Feb 25 '11 at 19:35
add comment

I would guess any test/interview would want to measure....

  • How candidate would fit in your existing team, are they going to be a good edition or 'rub' people up the wrong way? Do they seem like a good guy/girl? Are they easy to get along with?
  • How do they respond to pressure? Give a question that you expect they can't answer, see if they say "I don't know, sorry" or if they try an give you some rubbish answer (BS, really). A good developer (in my option) will tell you when they don't know an answer.
  • Ask if they code in their own time? Do they visit sites like this and so on. Are they passionate about what they do or is it just a job!

This is not an extensive list, but I think these are the main points that I would like to know before recruiting someone!

Issues like this are not an exact science!

Hope this answer helps

share|improve this answer
    
I cannot understand why this was voted down, could you please explain and if required I would remove it. Thanks –  Scott Sellers Feb 25 '11 at 18:11
add comment

Dont forget just because someone is the best coder out there, doesn't mean they will be the best worker, or even the best fit for your team.

share|improve this answer
add comment

Sofar I haven't been in the position to decide how we test the candidates. Mostly we discuss what the candidate does in his spare time, previous assignments/jobs and the job he is applying for. Within these discussions we look for technical knowledge, how well he can defend his choices, the questions he asks and in general if there is good feeling.

In general that works for us, but what we don't get is how the candidate works with others and how he structures and thinks about his problem solving. For this I would like to ask him to do the following tasks.

  • let him look at one of our projects and let him analyse this. What does he think about it, can he get it to run.
  • let him code a small problem from scratch, google is allowed.
  • let him pair program with one of the team members.
share|improve this answer
add comment

Build a profile of the company/development team and then find candidates that match.

Risky startup or established company Emphasis on employee socialization Work hours, flexible or fixed Interact with clients Team development or work alone

Usually when members of a team have goals that are in alignment, they tend to be more productive and get along.

Don't be so sure finding the great coders is the easy part.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.