A great part of my weekend goes to interviewing and a considerable amount of my time during my weekdays is devoted to hiring and activities related to hiring - profile screening, talking to the candidates, interviewing - technical and softer aspects.
What I learned are (over a period of time)
To Interviewers and to their managers (the source of problem but who think that the fault is on everyone but them)
- In the part of the world that I live in especially - be ready to read more (do not get bored or scared of seeing the projects and skills that one acquired 10 years back that never eroded)
- Shortlist quickly and ask HR to schedule interview
- Be available on time. If you have some work and you would join late, send someone who can do interviews (not just filling the space/time)
- Interviews are a business transaction. The interviewer has to sell the company and the future employee is likely to undergo. Not a fancy future that would never materialize. Be pragmatic on what you say
- You cannot get super-man when you pay peanuts. Reset your expectations
- Expect that someone can become super-man after she joins. Look for track record
- People want career, money, satisfaction, appreciation, feedback and a great culture (only the order differs from people to people). Do not oversell anything (as people might feel they won't get other stuff)
- You may be leading machine critical things but do not expect the folks to burn might night oil. Do not boast either
- Interview for the position (do not interview like you are hiring a CEO when you are hiring a developer). It is big sin to hire a developer without coding. Satisfied with pseudo code or "I can tell the logic" is the biggest sin. If you are hiring for senior position, start with design and drill down to coding (or start with code and move to design - bottom-up or top-down either way is fine, but do it)
- Often neglected piece is asking them to write unit tests for their own code. They might even write just two test cases, but it is fine. The question is whether they "think". If someone is allergic to writing unit tests - never look back
- Giving clues is not a sin. When you give hints, you really know more about the candidate (whether he picks up quickly and able to connect the dots). When you give clues, ask them to enhance.
- Do not ask funny or fancy questions on DS and Algo (which you were not able to solve for three hours but once you solved you want others to solve in 10 minutes) when your daily work is something else
- The world is moving more towards OpenSource, please see whether the candidate has allergy towards the word - OpenSource (and self-learning/training/exploring on their own)
- Give them the runway - Not all will be able to crack everything first and not always. Warm them up
- Listen properly and be attentive. Ask questions and answer questions properly
- Most often you will learn things from others, interviewing is no exception
- Decide as soon as the interview is over. Overthinking is killer
- Help HR. Maybe they have so many candidates to take care. Pick your resume, invite the candidates and take care of interviews. Keep HR informed on outcomes
- If the candidate asks feedback, spend some time with them in giving feedback (especially if they are very junior to you and looking to improve themselves). You never know when you will work for a nerd
- No frustration (even if your day is tiring)
- After hiring, connect with the candidate. Try to see whether you can be of any use to them.
- Wait for them to join
- Most importantly - remember that you are hiring a human, not a machine. Behave appropriately
Your comments?