Discover more from Engineering Land
How to Hire Great Engineers Without Tech Hiring Experience
Discover, Engage, Select & Close on Great Engineers
Originally published on TechCrunch on March 17th, 2022.
You need to move fast. You have to build POCs, create MVPs, iterate relentlessly and keep systems alive when you finally get TechCrunched (and after). You need excellent engineers suited for a fast-paced startup environment to make that happen. Recruiting a winning engineering team can be daunting, especially for first-time or non-technical founders.
Thanks for reading #engineering! Subscribe for free to receive new posts and support my work.
Startup recruiting is different from larger companies. You are looking for different profiles, you are probably not as well known, you likely don’t have dedicated recruiters, you have stricter time constraints, and you certainly don’t have the same budget.
I served at multiple startups and established tech companies worldwide and hired over a hundred engineers. I found that recruiting great engineers has four main challenges: discovery, engagement, assessment, and hiring.
Finding good engineers (discovery) is a subject in itself and there is plenty of information on how to structure offers (hiring), so let’s focus on engaging & assessing great candidates. I have identified a few startup-specific principles to engage and assess engineers that you can apply immediately - even if you do not have a technical background.
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.
You are targeting the top 25% engineers, which puts you in competition with the best recruiters in the industry. You have to go on the offensive. The good news is that engineers get hit by recruiters all the time, so they have become wary of them (sorry recruiters). You have an instant advantage as a founder or startup manager.
Think of your opening message as a pitch - you are selling the idea of working with you and making your startup happen. 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.
Finally, remember that most of these folks are probably not looking for a job. If you approach them with a dry copy and pasted invitation to apply, your message will get fast-tracked to the bin. Look at their profiles, the communities they belong to, their interests, their skills, their backgrounds, who they follow, their GitHub profiles, etc. Learn what makes them tick, personalize your pitch accordingly and tell them why they are an excellent fit for your company - and vice-versa.
Bad hiring choices early on can set a project back 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 48h max after interviews, promptly answer questions and finish all interviews in 2 weeks tops. 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: “can they functionally do the job and deliver results?” and “will they thrive at my company?”. You can do that 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 1% to 2.5% end-to-end conversion rate.
The screening round is 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 good listeners? Have they delivered significant projects in the last three years? What 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 - 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 team and company, even if they had a small part to play. Move forward to the next stage if you are 70% or so happy with their answers to avoid over-filtering.
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 previous list.
If you have a good technical background you can 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 in a small team.
Ask the candidate to add caching to an API performing complex database calls; refactor a large service into smaller, cleaner ones; find bugs in non-trivial code; efficiently store and retrieve data based on a given use-case; etc. Good candidates should walk you through their thinking process and ask good questions in the process. Verify whether they command the language well, with some leeway for interview-grade pseudo-code.
If you are a non-technical founder and you can’t rely on a sr. engineer (employee, friend, mentor, advisor), look into third party selection services like automated code assessment platforms (ex: HackerRank, Coderbyte, and Codility) and interview-as-a-service companies (ex: Karat, expertlead and Geektastic).
Both 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 you can balance that out by the time saved and the reduced hiring risk. 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 (they have amazing 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 great engineers great.
There are many engineers who are competent at solving narrow technical problems or writing great code but who cannot work backwards from a business problem towards a real world solution. Established companies can compensate 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, like what is the target throughput, who are the users, what do they want to achieve, etc. 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.
Ask them to design a concrete architecture diagram, make real choices for key components (ex: 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 your candidates.
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 type of challenges you want them to use - you want engineers who can solve e-commerce related problems 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 candidates miss and how much they understand the business needs. This is also representative of how you will actually work together.
Values & Capabilities
In this round you want to explore the 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 through 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 - 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 would 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 to move ahead or not.
Thanks for reading #engineering! Subscribe for free to receive new posts and support my work.