Skip to main content

How to interview a candidate?

How to interview a candidate/programmer -- Version 0.0.1


Note: It's based on my process of short-listing candidates/programmers and experiences so far in selecting and building my great team. I'll expand it whenever I get time and will amend versions.

Not many of you were wise in the way the world judges wisdom. Not many of you had great influence. Not many of you came from important families. But God chose the foolish things of the world to shame the wise, and he chose the weak things of the world to shame the strong. - St. Paul

Core facts



  • Interviewing is a serious effort and interviewing has great career prospects. Take it as a serious profession.

  • Interviewer/interviewee – no one is genius.

  • You cannot find a person who knows everything.

  • You're not a foreteller and so you cannot identify people by appearance. That's the need for the interview.

  • No interview question is right or wrong. You need to take good decision based on many factors—not just by the answers of the candidates

  • In most of the ideal cases, the interviewer and interviewee will share only a part of the knowledge (see the Venn diagrams below)

    • Interviewer-Interviewee1

    • Interviewer-Interviewee3

    • Interviewer-Interviewee4

    • Interviewer-Interviewee2



Intro



  • Interviewing—face-to-face interviewing needs at least 1 hour

  • Big job – think of career

  • Projecting company and our name – marketing ourselves

  • Serious and selfless process

  • Identifying potential is plus and a good for everyone. If you identify and appreciate a potential, they'll remember you for their lifetime

Preparation



  • Interviewing needs tough preparation.

  • Learn what is interview and why interview is important and how to interview


  • Read at least 3 books and articles on interviewing. Remember again that there is no correct approach; every author may have his own opinion. Take opinions or ideas that are very rational to you.

  • Technical questions preparation

    • We're looking for programmers. So, technical is very important and needs great amount of preparation.

    • Prepare as many questions possible in DB, PHP, General, Programming, etc

    • OOP – Prepare as many as questions on writing OOP code. Many people ask theoretical definitions; but that many not help to identify the real programmers. Give suitable problems that can be approached by OOP. Give suitable problems to use reuse OOP code or write OOP based library.

    • Have at least 3 form of questions prepared for a single answer. That would help avoid the question is been leaked over Internet



  • Communication preparation

    • Prepare well on how to ask questions, how to open questions, how audible you should be, and the modulation needed.

    • As English is the formal language for interviewing in India, understand proper pronunciation for the words you may have to use while interviewing



  • Prepare lot of bogus and or tough questions

    • This is merely to project the name of the company—something like Microsoft interview. If the questions are too easy, the candidates may feel bad about the company and current employees' potential. But, these questions are not deciding factors. These answers shouldn't be accounted.



  • Prepare lot of "deciding" questions

    • Question such as "find whether the given integer is odd" is deciding type of questions. If the candidate doesn't answer such questions, he is most likely not a good programmer.

    • For PHP OOP, this question may be considered "deciding" question: using the following class, how will you find the area and perimeter of a ground that is 1250meters X 5290meters in dimension?


    
    <?php
    class Rectangle{
        public $width = 5;
        public $length = 10;
    
        public function getArea(){
            return $this->width * $this->length;
        }
        protected function __getPerimeter(){
            return 2 * ($this->width + $this->length);
        }
    }
    ?>


Facing interview



  • Dress

    • Should be decent, no vulgar, not disturbing – so that the interviewee will not feel uncomfortable facing the interviewer



  • Punctuality

  • Policies – no mobile phone, etc

Basic objectives



  • Smart candidate (with reading, writing/typing, programming skill, attitude, aptitude)

  • Candidates for getting thing done—our current job

  • Growth for both interviewer and interviewee

    • No growth for the interviewer, if interviewee has lesser knowledge than the interviewer (refer the Venn diagram above)



Don'ts



  • Insult

    • Even if you reject the candidate, there is 99% chance that the candidate can still become a CEO of other company, president or prime minister of the country. Always be kind to the candidates.



  • Interviewing is not choosing life partner

    • The jollu nature of the interviewers is wasting majority of the interviewing process in India. ("jollu party: [Tamil Slang] Jollu refers to spittle. Party refers to a person. A jollu party is someone salivates at the sight of the opposite sex." -- http://www.vsubhash.com/die.asp?word=jollu%20party )



  • Judge over appearance

  • Judge over dresses or dress codes

    • If the dress code is too informal, ask for the reasons. If the candidate has no answers, then the candidate may not be serious about the career in the company. But, if his answer is something like "I thought that you'd look at my stuffs—not at my dresses", then it shows his confidence.



  • Judge over answer

    • This is very important: do not ever judge the person by merely looking at the answers. If you think the answer is wrong, ask for the reasons. The guy may be next Newton or Einstein to disprove the theory that you've believed to be the answer of the question.



  • Stop asking after few questions by judging the person by previous answers (see above) or judging the person with set of prepared questions. If the candidate is not answering anything, it's better to ask for the reasons and his knowledge domain.

  • Speak in other language that the candidate is not comfortable with. It's not the right time to showoff your linguistic skills.

  • Look at salary

  • Look at disability

  • Face the candidate without question sheet.

    • Many think that interviewer should showoff and so having question sheet is shame. In fact, having the well-prepared question sheet will focus the interview in right direction and will save lot of time.



  • Blinking with each other

    • If the interviewing is done by more than one interviewer, don't ever blink at each others.



  • Think for question–blinking

  • Underestimate & overestimate

  • Showoff your skills

    • It's not a time to showoff your skills

    • It's not a time to prove that you're smarter than the candidate.

    • Avoid prejudices such as poor reasoning for rejection of candiates such as the one mentioned in The nightmare interview: "Data Modeling" (it shows showoff by the interviewer)



Dos



  • Listen

  • If the answer is unexpected, check practically or ask for the reasons

  • Identify real interest & experience

  • Read resume & check projects (links, etc)

Common steps



  • Start with ice-breaking type of questions

  • Understand about the nature of work and project

  • Understand about domain

  • Understand about involvement and percentage of contribution

  • Start with medium level question

  • Go up to the level of the candidate

  • Fix the weightage of the candidate – ranking

  • Close with ice-breaking type of questions

  • If the candidate isn't doing well, ask for reasons

  • If you think that the candidate has some other potential—other than what you’re looking for the current job, politely inform him that he may focus on that area. Also, if there is a scope for that potential in the company, suggest and refer him for that position. For example, the person may have good designing skills, but he may have applied for programming positions for "survival reasons"

Interview framework



  • Prepare set of questionnaires – software based questionnaires (possible with LimeSurvey)

    • Ask for personal details (Educations, Experience, Project Details or domain)

    • Provide them with collection of tougher and "deciding" type of questions—both in analytical and programming



  • Evaluate the candidate's performance by "deciding" type of questions

  • Even if the candidate isn't performing well, conduct face-to-face interview. You'll have the opportunity to ask for reasons for not performing well or can able to find if the candidate's interest lies in other domain or if the candidate isn't feeling well or if the computer/keyboard/mouse that the candidate used for filling the answers isn't perfect.

  • Shortlist the candidates based on the performance in questionnaires and face-to-face interview, for the next real time round.

  • In the real time round, give the candidate computer with Internet access and possible problem from current projects.

  • Take final decision based on all the rounds.

Comments

Popular posts from this blog

Save American College, Madurai

This post was written in 2008 and outdated now. For update, please check Save American College, Madurai (Update 2011) Update (2011-01-16) : Save American College, Madurai (Update 2011) I'm highly privileged to have 3 degrees (B.Sc. (Spl. Physics), PGDCA and MCA) from The American College, Madurai, South India . Unlike other "commercial" colleges, American College has given room for poor students and uplifted them. And unlike other "elite" colleges who'd give seat only for "intellectuals", American College has produced geniuses. In the recent months, the saddening thing is that the college is under divide (Principal Vs. Bishop). Here is the email I sent to alumnae lately informing about the informations that I received about the developments: Update (2011-01-16) : Save American College, Madurai (Update 2011) All: I was thinking that the " Save American College " campaign was a FUD . But, when I tried to understand the problem through my

Open source PHP frameworks and problems

I was using CakePHP for sometime and proposed CakePlus , another UIMS toolkit on the top of CakePHP but also altering some problematic core of it. The thread should explain the outcome of the post. And, then I noted Akelos framework has most of the things built in. Issues with frameworks esp. CakePHP Scalability not a priority - Developers aren't aware that we can't throw more and more hardware Excessive use of regular expressions Evangelist isn't aware that the framework throws many queries unnecessarily More memory consumption - 100M would never be enough for a simple project Poor coding standards and practices - Prolong use of extract() often leads to more memory consumption Can't use the native approaches or baked codes. The override approach always lead to hard to debug codes Poor architected codes and no clear defined approaches. People belong to the cult drives the direction and often throws unprofiled codes. No native provision to share codes between M-V-C and

Problems with CakePHP - follow-up

Some people have responded including the Datepicker fame Marc Grabanski . So, this follow-up... First of all, I was not ranting nor complaining; I've just blogged/documented my experience. The common problem most of the people pointed out are that it scales for addons.mozilla.com. Those who have accessed their source code can understand that they've done lot of things and also the site is not database-intensive. You should really create a real database-intensive website to understand what I mean. The other point that been pointed out is about open source and community. Lot of people may not be knowing that it's 2 people pushing it and don't want others to be credited . The generic model or dynamic model idea was originally been from grigri and Marcel . It's hard to be called as open source as only few and sycophants are driving it's direction (I'm not talking about svn access) So, here are my humble checklist before you start shouting at me Did you read a