I’ve been in the software business for over 20 years, and throughout those years, I’ve been on both sides of the interview table. It has given me a lot of perspective on what it takes to run a productive technical interview. This article is about some of the techniques I use to ensure that I not only find a qualified candidate, but I also find the candidate I want to work with.
What are You Looking For?
My first recommendation is to determine what you are looking for in a candidate. I’m not talking about just the languages, tools, and skills you are looking for. I’m also talking about other aspects of a candidate, such as communication skills, ability to learn, and dedication to delivering quality. All of these areas should be on the table, and that means that they need to be a part of your interview somewhere, even if it is just asking the candidate about these topics directly.
Finding a Perfect Match is Hard
Sometimes you will have a hard time finding good people with experience in a particular technology or language, especially if it is older or relatively new. The older technologies are fading away and not being taught any more, and the new technologies take time to learn and master. If you are seeking a combination of many technologies, that is going to be harder to find as well. Good technical people will try to learn many technologies well, but it takes time and experience.
The Ability to Learn Fast is a Valuable Skill
I like to find people who can learn things fast, because our line of work often involves having to pick up new skills quickly. I have had a lot of experience at this working as a consultant, where I would go from client to client, learning whatever technologies were required for the client’s projects. The ability to learn quickly has proven to be one of my most valuable skills and has allowed me to adapt quickly to changing requirements.
Communication Skills are Always Valuable
A large part of the interview for me is listening to how the candidate conveys ideas and answers questions. The job of a technical person often involves a lot of collaboration, and the better someone is at explaining things in a clear and concise way, the more effective that collaboration will be. This is also important when communicating with clients, customers, and executive leadership.
Interviews Should Involve Collaboration
I’ve been a part of a lot of interviews that involved screening candidates with algorithms or puzzles. While it is definitely useful to see a candidate have to work out a complicated problem, I find they work better as a collaboration problem (let’s write some code together). Too often I’ve seen candidates get nervous, lock up, and not be able to answer effectively. Working together as a team more closely resembles the role you are trying to fill, and I believe you will learn a lot more about what it will be like to work with them if you do just that during the interview.
There are many books and articles about running effective interviews, but there is a lot of differing opinions on what techniques are most effective. In this article, I talked about some of the key principles I use to interview effectively, and you should be able to apply these to your own interviews to improve the process of finding the right candidates.