When hiring a lead developer, you need to be able to evaluate their skill set so that you know you have the right person for the job. Once you've ascertained that they have the technical skills required for the position you need to find if you can work together.
I've always felt the best way to interview someone is to get them do the job they will be doing. Set yourself up in a meeting room with some index cards and pens. Then ask your candidate to complete the following five tasks.
Hopefully, the candidate will have got an understanding of what your product is and what problem you are trying to solve. Ask them what they would like to see in the product next. This will help you evaluate how engaged they are with the product and how well they can communicate their desires. If they don't come up with anything give them some ideas about what you're looking to add to the product over the coming months. Try and think about the things you're struggling with, eg the site is slow, sign-in keeps breaking.
Things to watch out for:
- have they done any research about what you do?
- can they empathise with the end user?
Prioritisation and Estimation
Now at this point, you should have a list of features that need to be implemented. Ask your candidate how they would prioritise each task. What you are looking for is engagement from the candidate to understand how important the feature is and for them to provide some kind of idea about risk. Let's say one of the features is relatively easy to implement but is causing a significant headache. You want to see these low-risk high-reward features deployed first. Ideally, your candidate will have picked up those index cards and started organising things!
The next thing you want to see is if the candidate can break down a task. Again you're looking for their ability to communicate what needs to be done.
Infrastructure Running Costs
Next up we're going to ask our candidate about how much it costs to run our application. Many lead developers fall into the trap of thinking that the cheapest solution is the most cost-effective. The most common mistake is thinking that free is free. For example, hosting a database. Ask your candidate what the pros and cons are of hosting a database. You should be looking for reasoned arguments both for and against. Again this comes back to your candidate's ability to prioritise work. Are they going to be able to come to you and say we need to buy this service? Ultimately you're looking for a recommendation at this point.
What are you reading
I always ask this during a technical interview. The only answer you're looking for is that they're reading something! Do they think that they've finished learning or do they still have a thirst for more knowledge? Again, it gives you an opportunity to find out if you're going to get along.
Hiring is never easy; it's always a long game.