As I noted in previous post, I left my role to join a new team. Before I left, a big part of my time was spent interviewing the potential candidates to replace me. As I was setting up the process and working with my team, one of the first questions that came up was “How do you interview someone for a job you have never had?” And the second question was “What questions should we ask?” So I wrote this post as a “how to” to give some guidance on interviewing someone in a software management role.
On a side note though, I didn’t cover a lot of the technical skills though, since while they are important and should be assessed, most of the team already knows how to evaluate people in similar roles to their own jobs.
As I talked about before you should design your interview questions to the role.
Here is the job description that I created for this CTO/VP Engineering role (pdf download: VPEngineeringJD-September2011)
There are a few key responsibilities called out in the jd:
- Amazing People Manager
- Business-minded Strategist
- Flawless Project Manager
- Talented Technologist
Therefore it makes sense to construct questions that will help assess each one of those skillsets, and a few to calibrate for character and culture fit.
Amazing People Manager
- How do you judge or evaluate other managers? What are the most important skills, traits and how do you measure them?
- Describe your ideal performance management process. What are the benefits? Downsides?
- How do you handle an employee that has historically performed well, but falters or lapses on a project?
- Have you ever had to fire someone? How did it go? What did you learn and would you do anything differently?
- What is your favorite interview question(s)? How do you interview for talent?
- Have you ever made a hiring mistake? If so, what did you change to prevent the same mistake in your future hiring?
- Who was the best hire you ever made? Why?
- Is it ever okay to lower your hiring bar? What do you do when you have a tight deadline and need help fast?
- What is the most creative way to find and recruit good people?
- How to you track or keep your finger on the pulse of morale? What are some ideas, or things you have done in the past, to improve morale?
- What is your leadership philosophy?
- Favorite book on management or leadership. Or what book has made the biggest impact on your leadership style?
- The CEO makes a decision/call you don’t agree with – has this ever happened to you? How would/did you handle it?
- How did you know you wanted to be a manager or CTO/VP Eng? What motivated you to pursue that path?
- What do you think you are best at as a CTO/VP Eng? What part of the role are you amazing at? What areas could you stand to improve?
- How do you harness the power of others? Promote the ideas on your team? Brainstorm?
- The team has a major operational outage for one of the services. Customers are really upset. How do you respond? What would be your recommended course of action to the executive team?
- Have you presented to a board of directors? What are the key components of your presentation? How did you come up with the content/template/outline?
- What is the biggest piece of advice you have with regards to managing up? How did you come by that advice?
- One of your peers is not managing their team/organization, and you have valuable criticism that can help them correct their behavior. How do you communicate it? What if they aren’t receptive or don’t listen – how do you ensure the right thing happens for the business?
Flawless Project Manager
- How can you coach developers/engineers to get better at estimates and hitting deadlines?
- How do you like to build and test software?
- If every project has to ship on time, what safeguards/measures can you employ to make that possible?
- What kind of process do you use know for software? What do you like about it? What would you change?
- How do you set the team roadmap? Does that work well? How often do things change?
- In your opinion, what is the best way to manage technical operations? What are some techniques to keep systems up all the time, and handle situations gracefully when they’re not?
- What are the key parts of a successful post mortem? How to your manage the discussion and make them productive?
- What was your biggest post launch failure/bug? What could you have done to prevent it? How did that change your method/process going forward?
- You are in a design review, and see a major flaw in the design. Has this ever happened? How do you bring it up? What happens if the presenter refuses to listen to your points? How do you make sure that the right system is built?
- What is the process/tools needed to improve software quality? How would you setup a culture that valued software quality?
- What is your opinion on pair programming? Test driven development? Is there ever a time to do these or not do them?
- You have MySQL database in production for one of the applications. There is a new project and the team lead wants to use Postgres instead. How would you advise them? What are the pros and cons or your approach?
- The production system is running on top of Cassandra and it is having issues that seem to be within the db itself. How do you advise the team? How do you manage those issues and the impact to the new development work? How do you communicate this to non-technical people?
- In your past, when did you work the hardest?
- What has been your greatest success?
- Where do you want to be in 5 years? 10 years? What do you need to do to get there? How does this role fit into that goal?
- When have you had the most fun at work?
- What has been your biggest career mistake? What did you learn? How did it change you, or your behavior?
- What would your manager say about you? Your team? Your peers?
- What is your ideal/work life balance? Is that different from your team? How do you achieve it and defend it?
- What aren’t you good at it? Who fills that role now on your team? How do you work together?