How to hire engineers
You may be a brilliant engineer yourself, but if your business is doing well, there will come a time when you need to bring in additional human resources to support growth and operations. That means you need to hire.
Hiring is like hunting: you might get lucky right after you step into the forest, or you might wander around for hours looking for the right shot. Yes, luck is involved, but when the moment arrives, you need to be prepared.
Where to start
First, clarify what new engineers will be working on. Try to create a list of tasks for newcomers. Sometimes, you may realize it’s not the right time to hire because there simply isn’t enough work yet. You might decide to postpone hiring for a while, or you might start the process anyway because—what?—hiring is like hunting, and it may take time to find the right person.
Where to find people
This seems like an easy question, right? There are engineers everywhere, and all you need to do is build a pipeline of candidates and start interviewing them. But where do you get those candidates?
First, you need to create a job description with requirements. After that, you have three options:
Post the Job Yourself. You can publish job descriptions on job sites and promote them yourself. It’s the cheapest option in terms of money, but the most expensive in terms of time. You will need to process all applicants and filter out who should be interviewed. There could be hundreds of resumes to sift through. This option is not recommended unless you are really tight on money. Tech leaders are typically not the best at sourcing candidates because it’s not their primary job, and they can’t do it efficiently.
Hire an In-House Sourcer. You can find an experienced sourcer and delegate the candidate search to this person. This is relatively cost-effective because one sourcer can handle 5–7 positions simultaneously. However, you will need to find this person first, which can take time. You also need enough open vacancies to keep them busy. This approach helps grow your internal hiring expertise, making it a good option for established or expanding businesses.
Use an External HR Agency. You can outsource the entire sourcing process to an external HR agency. Just make sure you hire a reliable agency with solid recommendations and a proven track record. This is the most expensive option because the agency will take a commission for each hired engineer. However, it can also be the most efficient—if you manage to pick the right agency—since they have expertise and an existing pipeline of qualified candidates.
Choose wisely among these three options and pay attention to the context in which your business is operating.
Make sure you are tracking all the applicants and store in safe place all your hiring notes and results of the interviews. There will be hundreds of engineers and it’s not possible to remember everything. You can use special software (ATS) or even plain text file with notes.
A Swift and Effective Interview Process
When it comes to interviewing engineering candidates, speed and efficiency are key. Aim to keep the process under four steps, all within a 7–10-day timeframe. Only invite applicants who pass the basic sanity check and meet your criteria for skills and experience into your interview pipeline.
1) Quick Sanity Check
I start by preparing 3–5 straightforward questions that recruiters can ask candidates right away. These questions should have clear-cut answers (like yes/no or numerical values), so recruiters can easily verify them. Anyone who answers more than X out of Y questions correctly advances to our Applicant Tracking System (ATS). Here, X and Y depend on the specific role, seniority, and domain expertise needed.
If you’re screening people yourself, make sure you cover the essentials—salary expectations, notice period, and what they’re looking for in a new position—before moving them on to the next step.
2) Detailed CV Review
After the initial screening, I review all the CVs of candidates who pass. If they’ve listed a GitHub profile, I always check it out. Then, I place CVs into three tiers:
- Tier 1: Impressive candidates who warrant an immediate conversation.
- Tier 2: Candidates who meet our basic standards.
- Tier 3: Disqualified candidates.
I personally review and categorize each resume, writing a short note explaining my decision. No AI filtering here—it’s all done manually.
3) The First Tech Interview (20 Minutes)
Next, I schedule a brief (20-minute) technical interview that I conduct myself. Why do I handle it personally? Because in that short time, I can gauge the candidate’s technical seniority and clarify details like salary, location, and notice period on the spot.
My secret weapon? A short code review exercise. I use a snippet of about 50–70 lines of code with three major architectural flaws and over 20 smaller issues (but no syntax errors). Candidates who spot at least two of the three major issues move on to a more in-depth technical + behavioral interview. I’ve found this technique to be far more reliable than LeetCode challenges, live coding, or theoretical Q&A. Over 70% of those who pass this stage end up getting hired.
This approach also saves time for my engineering team. A more extensive interview might require 1 hour and 15 minutes from a team lead plus one or two engineers. Multiply that by five interviews per week, and you’re looking at nearly 19 hours of engineering time—a big commitment. By doing a quick screening myself, I can evaluate 10–20 candidates per day without distracting the team.
4) The Quick Homework
Candidates who pass the initial tech interview receive a small homework assignment: a short paragraph describing a scenario that requires creating a software design diagram. For experienced people, it should only take about 15–20 minutes. They send it back for review, and if the solution is completely off-base, we won’t move forward—saving us another 1 hour 15 minutes × 3 human hours in potential interviews. Fortunately, this rarely happens because the code review step already filters out most unqualified applicants.
Beyond the design itself, how the candidate presents their homework is informative. Are the diagrams clear? Did they add comments? These details can reveal a lot about their communication style and thoroughness.
5) Final Technical + Culture Fit Interview
Finally, we schedule the 75-minute tech + culture fit interview. It’s divided into three parts:
- Homework Review – The candidate explains their design and architecture, similar to how our tech teams collaborate: one person proposes a solution, and then everyone discusses it.
- Focused Tech Q&A – The team asks specific questions based on the candidate’s experience. For example, if someone claims AWS expertise, we’ll definitely explore S3 storage classes, security groups, and AWS Fargate.
- Informal Chat + Sneaky Behavioral Questions – We wrap up with a relaxed conversation about our culture, processes, and anything else the candidate wants to know. When candidates are comfortable, I like to slip in a few behavioral questions. Since they’re less stressed at this point, their answers tend to be more genuine and insightful.
By the time these steps are complete, both sides should have a solid understanding of whether there’s a great fit. This process strikes a balance between efficiently filtering out unsuitable candidates and giving strong candidates every chance to shine.
The interview process should be fast. Ideally, no more than 4 stages within a 7-10 days max. Take to the interview pipeline only those CVs, who pass basic sanity check and meet your expectations on terms of hard skills and experience.
After the interview, we regroup with the engineers. Every participant should answer yes/no if they want to be working with this candidate starting tomorrow. The most junior people answer first, and as CTO I always go last. Because if you have a C-level (or team leader) title, people may just follow your opinion and I don’t want that. If they and the engineers all want to work with the candidate, then we proceed with the contract negotiations.
The Key Principles of Hiring I Follow
Only AAA-level engineers from my team participate in technical interviews because top players can quickly identify other top players. Hiring is one of the most important activities in any business. By hiring the wrong people, even a stable and successful company can be brought down. Always involve your very best people in the hiring process and have them set aside time for interviews. Hiring is time-consuming, so don’t rely on mid-level engineers to conduct technical interviews—a common strategy that often fails. Mid-level engineers usually can’t properly identify or convince top-tier candidates.
Be present for at least the final interview and assess candidates yourself. Continue to do so until you have team members who fully understand your hiring methodology and whom you trust to handle the entire process without your presence.
If you have even the smallest doubt about a candidate, you can reject them, add extra interview steps, or conduct reference checks. Hiring the wrong person can set your team back by several months.
← Table of contents