User Avatar

Bernard O'Flynn

3y ago

I like building things - products, teams and companies. Trying to make the world a little better every day

As A First Time CTO, How Do You Scale Technical Interviews So That You Can Trust Your Team To Hire The Best Fitting Engineers For Your Startup?
Bernard O'Flynn

Whether to hire someone is the most important decision you'll make as a CTO.

People come first, before tech choices, architecture, choice of cloud provider, etc. Hiring the right candidate for your team can multiply your team's abilities. Choosing the wrong person, can bring your team to a standstill or worse, have good people heading for the door.

One part of getting the right person into the company, is the technical interview.

Every company does it differently.

How should you do it as a first time CTO in a startup?

I've seen lots of tech interviews on both sides of the table. I've hired 100s of people over the 25+ years I've been in software. I've seen bad tech interviews and amazing ones.

Firstly, what makes a good one?

A good tech interview gives you a solid sense for the person's technical competence without wasting the candidate's time or your team's time.

It should also give you a sense for how they work in teams, how they respond to feedback and whether they can communicate their thinking clearly.

Here is my current tech interview process:

  1. Give the candidate something to complete at home. Nothing super challenging, something that will take max 30 mins to do. It serves as a base to start the discussion.

  2. Have the candidate send the code back to your team. One of your team takes a look and decides whether its worth everyone's time continuing.

  3. Invite the candidate to a pair programming session with 2 of your team. During Covid, we did this in Teams/Zoom

  4. After the intros, have the candidate share the code in their favorite editor and walk through their solution, explaining why they made certain choices, pointing out things of interest.

  5. Ask the candidate to fix a bug. They don't have to write 100% perfect code. They need to explain their thinking first, then maybe give some idea of where they would put the code into the code base. Most people get very nervous in interviews, so its not really fair to expect high quality code when adrenalin is dampening their frontal cortex. But they should be able to talk through it.

  6. Ask the candidate to build a new feature or extend an existing feature. Again, its the thinking here, not 100% perfect code that is important.

  7. Provide feedback on the bug or feature, suggesting a different approach and ask for comment. Its amazing how many engineers get wound up when someone suggests their initial approach could be improved. The whole point of working in a team is to work together to create something better than a person on their own could achieve.

  8. Close the interview by answering any questions the candidate has.

I've run a similar process with many different teams. The process allows the team to scale their technical interviews across the members of the team. Everyone knows the challenge, what questions to ask and how to provide challenging feedback to the candidate.

The challenge changes, the questions change but the approach has been remarkably stable.

Doing a pair programming session of sorts helps both candidate and your team get a feeling for what it would be like to work together. So we've hired amazing people that fitted the team well. Of course, tech skills are only a part of the the job as a software engineer.

I'll write about the other skills and how to match candidates in a future post.

Let me know in the comments if you have other questions about recruiting engineers.

The all-in-one writing platform.

Write, publish everywhere, see what works, and become a better writer - all in one place.

Trusted by 80,000+ writers