Here’s an ideal I strive to achieve when I conduct technical interviews for software engineering positions.
- I start with introducing myself
- I provide a take home assignment instead of making people perform coding at the interview and, what’s even worse, on a white board instead of a computer.
- I ask attitude questions more than skill questions to see if a person has the right mentality to learn and solve problems instead of just knowing certain skills. There’s a good book called Hiring for Attitude.
- I dig deeper into what exactly the candidate’s role were in his/her prior projects.
- I ask questions which are closely related or mocking the real work situation for this position. For example, a member of the Capital One Tech Fellows Program is often asked why X is better than Y or what framework should we use in our new project.
- I leave enough time at the end of the interview to answer candidate’s questions about the role, team and the company or anything else they want to ask
- I say a few things to create enthusiasm in this role and possibilities
In an ideal tech interview, you would just skim through the candidate’s code on GitHub, chat about recent happenings around the tech you use, and talk about life. That’s it. You don’t even need a resume in most cases. LinkedIn has the job history and GitHub (or HackerRank) is a living (almost fool-proof) evidence of the skills.