How to hire great engineers when you don’t have any technical expertise

Recruiting a winning engineering team can be intimidating, especially for first-time and non-technical founders.

I’ve served at multiple startups and established tech companies worldwide, and have hired more than 100 engineers. Recruiting great engineers involves four main challenges:

  • Discovery.
  • Engagement.
  • Assessment.
  • Hiring.

Finding good engineers is a lengthy subject in itself, and there is plenty of information on how to structure offers, so let’s focus on how to engage and assess great candidates.

I have identified a few startup-specific tactics that you can apply immediately even if you do not have a technical background.

Engagement

You need to earn the attention of good candidates. Let’s skip the basics like getting an introduction through your network or running engaging LinkedIn and StackOverflow ads.

Wrap up all interviews within two weeks at most. This is one of the few advantages you have over recruiters and established companies.

You are targeting the top 25% of engineers, which puts you in direct competition with the best recruiters in the industry. Because engineers are approached by recruiters all the time, they have become wary of them. This gives you an immediate advantage as a founder or startup manager.

Think of your opening message as a pitch and make it interesting for them: Talk about the magnitude of the problem you are solving and the impact they could have; tell them about the cutting edge tech you are using, and how they will have the freedom to shape the company’s future. Don’t overdo it, but don’t make it sound like they would be exchanging one cubicle for another, either.

Most people you’re reaching out to are probably not looking for a job, so do not approach them with a dry copy-and-pasted invitation to apply. Look at their profiles, which communities they belong to, their interests, skills, backgrounds, who they follow, their GitHub profiles, etc.

Personalize your pitch accordingly and tell them why they are an excellent fit for your company — and vice-versa.

Assessment

Poor hiring choices can set a project back by months — even permanently — and generate tons of technical debt. Experienced engineering managers are probably familiar with tech hiring, but non-technical founders and technical founders with no management experience should learn two ground rules first:

  • Move fast: Contact candidates no more than 48 hours after interviews, promptly answer questions and finish all interviews within two weeks at most. This is one of the few advantages you have over recruiters and established companies.
  • Be interesting: They are assessing you just as much as you are assessing them. Build upon your initial pitch as you get to know them better, and keep selling.

You also want to answer two fundamental questions:

  1. Can they do the job and deliver results?
  2. Will they thrive at my company?

You can do this using a screening call, and, if they clear it, three one-hour deep dive/onsite interviews. A good candidate pool results in a 20%-30% screening clearing rate and a 1%-2.5% end-to-end conversion rate.

Screening

The screening round should be a 30-45 minute call where you will decide if it makes sense for you and the candidate to invest more time in the process. Are they articulate, and are they good listeners? Have they delivered significant projects in the last three years? Which technologies did they employ?

Do they know those projects’ technical and business KPIs? Do they know who the customers were and how their work affected them? Are they enthusiastic when referring to their work? What about your company interests them? Don’t talk more than 20%-30% of the time, as you don’t have time to dive deep here.

Finally, clarify what their individual contributions were versus their team’s. Some engineers might inflate their achievements by focusing on the team and company even if they had a small part to play. Move forward to the next stage if you are about 70% happy with their answers to avoid over-filtering.

Software engineering

Good software engineers know more than just coding. They know how to create usable, scalable, secure software on spec, on time and on budget (mostly). Great ones can do so with one or more unknowns in the list.

If you have a technical background, check their software engineering fundamentals using a coding and problem-solving interview. Startups should use real-world reference problems that cover basic data structures, scaling, design patterns, data manipulation and more. Avoid the synthetic exercises bigger companies use — you want someone who can deliver value on day one as part of a small team.

Give them cogent tests, such as adding caching to an API that’s performing complex database calls, refactoring a large service into smaller, cleaner ones, finding bugs in non-trivial code, or efficiently storing and retrieving data based on a given use case.

Good candidates should be able to walk you through their thought process and ask good questions. Verify whether they command the language well, with some leeway for interview-grade pseudo-code.

If you are a non-technical founder and can’t rely on a senior engineer (they can be an employee, friend, mentor or adviser), look into third-party selection services like automated code assessment platforms such as HackerRank, Coderbyte or Codility, and interview-as-a-service companies like Karat, expertlead and Geektastic.

Both kinds of services work well, but senior startup engineers tend to prefer the latter. Speaking with good technical interviewers is a lot more engaging and accommodating of nuance than automated tests, to the point that many candidates might simply refuse to take them.

These services cost money, but the time saved and the lower hiring risk balance the expenses out. They can also interview multiple candidates in parallel in case you have the (mythical) problem of too many good prospects.

Alternatively, you can learn the foundations via websites like AlgoExpert, which has great basic data structure and systems design courses. Picking up the basics of a programming language like JS or Python is also easier than you might think, and that can help you understand better what makes a good engineer.

Systems design

Many engineers are competent at solving narrow technical problems or writing great code, but they cannot work backward from a business problem toward a real-world solution. Established companies can compensate for this by having different skill sets in a team. In a startup, you need flexible, pragmatic, skilled people who know how to create entire systems.

If you have a solid technical background, this is the round where you ask questions like “How would you design Uber?” or “How would you implement Google Maps?”

Good candidates will ask lots of clarifying questions about the target throughput, who the users are, what they want to achieve and more. Great candidates can figure most of that out from basic fundamental assumptions, like how much storage you need to power a Maps-like application for millions of users.

It can also be a good idea to ask your candidate to design a concrete architecture diagram, make choices for key components (e.g., you want to hear “Kafka,” and why, not just “pub/sub”) and walk you through their solution. It is important to pick a challenge that is somewhat related to what your company does, but make it clear that you are not just getting free consulting from them.

Finishing the entire design is not important, but watch for signs that the candidate is over-complicating their solution, and offer hints to help them see it.

If you are not a technical person, then interview-as-a-service companies can help. Make sure to specify what kind of challenges you want them to use — for instance, you want engineers who can solve problems related to e-commerce for your e-commerce startup.

Alternatively, study and use some design challenges online and take the role of a non-technical product manager when interviewing. You might not be able to understand the finer technical details, but you can dig into requirements, pros and cons, what the candidates miss and how well they understand the business needs. This is also representative of how you will actually work together.

Values and capabilities

In this round, you want to explore a candidate’s ability to communicate, work in a team, understand business and customers, deal with difficult situations and deliver results.

Check their motivations and what they want to achieve. This can be the difference between sticking around during tough times (which is a given in startups), or jumping ship when the greenfield project feeling is over. What are their long-term goals? What do they see in your company that they are not getting in their current role? What do they love about engineering?

Understand how they work and what they value. What were their biggest achievements, and what did they learn from those experiences? What about their biggest misses: Do they blame others or focus on lessons learned? Do they know how to give and receive constructive feedback without confrontation? Do they like to tell others what to do or collaborate? How did they handle high-stress situations, like a major outage or a make-or-break deadline?

Finally, check what they know about business. This is particularly important in startups, as you want engineers who know that the goal is not to ship software, but to serve customers. Do they know who their customers were and what they cared about? What were their technical and business KPIs, and how did they correlate? What is the business model of their current company?

Once you have built a mental model of who they are, what they value and what they want to achieve, you can understand whether they will thrive at your company. Combined with the functional knowledge and real-world problem-solving skills you checked in the previous two rounds, you can make a confident decision on whether you want to move ahead.