I am new to the interviewing thing and wanted some advice about how to interview programmers?

asked Dec 29 '09 at 03:29

Amir%20S's gravatar image

Amir S
251310

edited Feb 02 '10 at 08:42

Candide's gravatar image

Candide ♦
796110


As you start hiring, the organism that is the enterprise starts growing and gaining a culture of its own. At the beginning, the influence of a single hire on the culture of the enterprise is huge. Think: "How will this person shape the culture of the company?" As the enterprise grows, you want to make sure that the people you hire fit in the culture that is starting to form.

The interview group: Several people should conduct interviews. When possible, let this be the same group of people. Any member of the interview group should have veto power. When possible, the interview group should include non-techies who are more customer or market facing.

The steps of the interview process: The process we adopt is the following: 1) Reviewing resumes. 2) Phone interviews. 3) In person interviews (round 1). 4) In person interviews (round 2 if needed) and tests. 5) Final sanity check (phone chat) before making an offer.

Tests: We have developed standardized tests that all applicants take. Tests could vary based on the seniority of the position. The tests include: design sections (very important!), code writing sections, and database sections. We usually leave the test until the last round of interviews and use it as a tie breaker.

There is a grading system for the tests that allows for quick elimination of low scoring candidates. For the high scoring group, a deeper dive into the results of the tests is needed.

Never settle for mediocre developers!

Comparing applicants: As you hire your first few developers, you will naturally compare interviewees to each other and aim for the best. Once you have gone through this process a few times, it becomes inefficient to always wait until you have a large enough sample for comparison. At this stage, you should start comparing to people that you have already hired. You will know a good developer when you meet one.

Communication Never compromise on communication. All developers should be able to communicate, verbally and in writing. And no! communicating in Java does not count.
They need to be able to read and comprehend requirement documents, write design documents, communicate statuses, issues, fixes, etc... They should be able to understand and appreciate the end user, the Customer.

answered Jan 02 '10 at 15:56

Jean-Claude%20Saghbini's gravatar image

Jean-Claude Saghbini
1762

edited Jan 02 '10 at 16:04

Nice, great answer!

(Jan 06 '10 at 16:18) Habib Haddad ♦♦ Habib%20Haddad's gravatar image

All the comments are great.

To add I wanted to share my evaluation criteria. It is always good to have one so you know if your interview roster is missed something.

  1. Basic Skills
    This represents basic code and design questions.

  2. Drive/Passion
    Dig into their background and look for both drive and passion.

  3. Curiosity
    They need to show curiosity beyond the job. I typically like to have an intelligent discussion of current issues in their field.

  4. Intellectual/Creativity
    Test them with a tough problem that has lots of latitude, i.e. several solutions, and can always get harder. Look up Google and Microsoft interviews for some hints. Good questions require people at some point to step back and rethink their initial solution.

  5. Fit
    See if there is a fit from the interactions during the interview? I also like to ask them what they want to do, what they do not want to do, and why they are changing jobs.

  6. Communication
    As Jean-Claude said make sure they can communicate!

  7. Ethics
    You want to work with ethical people. Dig into this through questions and reference checks.

answered Jan 05 '10 at 01:51

Sami%20Shalabi's gravatar image

Sami Shalabi ♦♦
48011

I really like jean- claude's answer and I would like to add one thing to it. You have a probation period, use it not just to evaluate but to mentor too. It is a great opportunity to really get to know people and whether they are really technically competant, work well with the team, are integrating into the corporate culture ...etc. And if they dont fit in dont be afraid to have that conversation early on and let them go if they dont fit. The worst thing to do is to keep someone on post probation if they are not working out!

answered Jan 04 '10 at 21:32

Shalabieh's gravatar image

Shalabieh
661

Sure..

Generally you want to focus on two things: 1. Technical skills 2. Behavioral skills

In the technical part, I like to give them a technical problem to solve, and I try to test them in the area that I will be expecting them to work on. If you are looking for a DBA, have him write a complex SQL statement, if you are looking for a web developer, have him write a piece of code and through some Ajax requirements in there :)

The behavioral part is tricky, especially with programmers, because they are usually not the best people in interpersonal communications (sorry for my geek friends, this is just a stereotype). But, you want to make sure that they can work in a team, they are organized, can handle startup pressure, and most important of all, have a good attitude.

By the way, can I apply for the job :)

answered Jan 02 '10 at 07:59

%D8%B9%D9%85%D8%A7%D8%AF%20%D8%A7%D9%84%D9%85%D8%B3%D8%B9%D9%88%D8%AF%D9%8A's gravatar image

عماد المسعودي
1494

I would recommend reading Joel Spolsky's "Smart and gets things done" (look it up on Amazon)

As well as this essay: http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html

answered Jan 04 '10 at 03:13

Mahmoud's gravatar image

Mahmoud
112

a great article that cover many issues on How to Hire Programmers: http://www.aaronsw.com/weblog/hiring

answered Jan 31 '10 at 20:01

Saif%20Saab's gravatar image

Saif Saab
513

Your answer
toggle preview

2010 © YallaStartup, Inc - About

Creative Commons License
Licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License