Hiring & Interviewing

Why This Matters
Let me be direct with you: hiring is the single highest-leverage activity you will ever do as an engineering manager. Every other skill in this guide — coaching, planning, delivering — gets dramatically easier or harder based on who is on your team. A great hire compounds value for years. A bad hire bleeds energy, morale, and momentum for months before you even acknowledge the problem, let alone fix it.
This is not a section you skim. This is the one you study.
1. Hiring Is Your Most Important Job
Here is a truth most new managers learn the hard way: you can coach someone to be 10-20% better. You cannot coach someone into being fundamentally right for the role. The gap between a great hire and a mediocre one is not incremental — it is exponential.
One great hire accelerates the team for years. They raise the bar on code quality, unblock teammates, challenge assumptions productively, and attract other strong people. Great engineers want to work with other great engineers.
One bad hire costs you 6-18 months. Here is how the math works:
- 1-3 months before you admit there is a problem
- 1-3 months of coaching and a performance improvement plan
- 1-2 months to manage them out
- 2-3 months to re-open the role, interview, and hire a replacement
- 1-2 months for the new person to ramp up
That is potentially 12 months of lost productivity on a single headcount. And that does not count the damage to team morale, the extra load on other engineers who picked up the slack, or the projects that slipped.
So treat hiring with the seriousness it deserves. Block time on your calendar for it. Prepare for interviews like they matter — because they do. Push back on pressure to "just fill the seat." An empty seat is better than a wrong hire.
2. Writing Job Descriptions
Most job descriptions are terrible. They are laundry lists of technologies written by committee, full of corporate jargon, and they tell the candidate almost nothing about what the job actually is.
Here is what a good job description does:
Be specific about what the person will actually do. Not "drive technical excellence" — that means nothing. Instead: "You will own the payments service, which processes $2M in transactions daily. You will lead a team of 4 engineers to migrate it from a monolith to a set of microservices over the next 12 months."
Separate must-haves from nice-to-haves. Be honest with yourself about what is truly required versus what would be a bonus. If someone can learn Kubernetes on the job, do not list it as a requirement. Every unnecessary requirement filters out good candidates — especially people from underrepresented groups, who tend to self-select out if they do not match every bullet point.
A realistic must-have list might look like:
- 3+ years building backend services in production
- Experience with at least one statically-typed language
- Comfort working with relational databases at scale
- Ability to break down ambiguous problems into concrete technical plans
A nice-to-have list:
- Experience with Go or Rust
- Familiarity with event-driven architectures
- Previous experience in fintech or payments
Use inclusive language. Avoid gendered terms, unnecessary superlatives ("rockstar," "ninja," "guru"), and aggressive framing ("fast-paced, high-pressure environment" reads as "we burn people out"). Tools like Textio or even a careful self-review can catch a lot of this.
Include compensation range. In many places this is now legally required. Even where it is not, including it saves everyone time and signals transparency.
Describe the team and the culture honestly. Candidates are evaluating you just as much as you are evaluating them. Tell them what the team is like, how you work, what the challenges are. Honesty up front prevents mismatches later.
3. Designing the Interview Process
The goal of an interview process is to predict, as accurately as possible, whether this person will succeed in this specific role on this specific team. That is it. Everything in your process should serve that goal.
What to Test
Technical skills. Can they write code? Can they design systems? Can they debug problems? Test this with practical, job-relevant exercises — not trivia, not whiteboard algorithms disconnected from real work.
Problem-solving. How do they approach ambiguity? Do they ask clarifying questions? Can they break a large problem into smaller ones? Do they consider tradeoffs?
Collaboration. Can they explain their thinking? Do they listen? How do they respond to feedback or pushback? Will they make the people around them better?
Communication. Can they articulate technical concepts clearly? Can they adjust their communication for different audiences? This matters more than most interview processes test for.
Culture add, not culture fit. "Culture fit" is often code for "people like us," which leads to homogeneous teams. Instead, ask: what does this person bring that we do not already have? What perspective, experience, or approach would make the team stronger?
Structure Reduces Bias
Unstructured interviews — where each interviewer asks whatever they want — are one of the least predictive hiring methods. They reward candidates who are good at small talk and penalize candidates who are nervous or different.
Structured interviews — where each interviewer has a defined area to assess, specific questions to ask, and a rubric to evaluate against — are significantly more predictive and significantly less biased.
Design your interview loop with intention:
| Round | Assessor | Focus Area | Duration |
|---|---|---|---|
| Phone screen | Recruiter or hiring manager | Role fit, motivation, logistics | 30 min |
| Technical screen | Senior engineer | Core coding skills | 60 min |
| System design | Staff+ engineer | Architecture, tradeoffs, scale | 60 min |
| Behavioral | Hiring manager | Leadership, collaboration, growth | 45 min |
| Team fit | 2 team members | Communication, collaboration, culture add | 45 min |
Every interviewer should know exactly what they are evaluating and how to score it.
4. Interview Questions That Work
Behavioral Questions
These reveal how someone has actually operated in the past, which is the best predictor of how they will operate in the future.
Good behavioral questions:
- "Tell me about a time you disagreed with a technical decision on your team. What did you do?"
- "Describe a project that failed or went significantly off track. What was your role, and what did you learn?"
- "Tell me about a time you had to ship something with a tight deadline. How did you decide what to cut?"
- "Give me an example of a time you helped a teammate grow or improve."
What to listen for: Specificity (vague answers often mean they are making it up), ownership (do they say "I" or "we" appropriately), self-awareness (do they acknowledge mistakes), and learning (did they actually change behavior afterward).
Red flags: Blaming others exclusively, inability to provide specific examples, taking credit for team accomplishments without acknowledging others.
Technical Questions
Use practical problems that resemble real work. The goal is not to trick people — it is to see how they think and build.
Good technical questions:
- Give them a simplified version of a real problem your team has solved. Watch how they approach it.
- Pair programming on a small feature or bug fix in a realistic (not production) codebase.
- Code review exercise: show them a pull request and ask them to review it. This reveals judgment, communication, and attention to detail.
Bad technical questions: Obscure algorithm trivia, brain teasers, anything that tests memorization over understanding.
System Design (Senior Roles)
For senior and staff engineers, system design interviews reveal architectural thinking, ability to handle scale, and awareness of tradeoffs.
Good prompts:
- "Design a URL shortener that handles 100M requests per day."
- "Design a notification system for a social media platform."
- "We need to build a real-time dashboard that shows order status. Walk me through how you would design it."
What to listen for: Do they ask clarifying questions about requirements? Do they consider failure modes? Do they discuss tradeoffs (consistency vs. availability, cost vs. performance)? Can they estimate scale? Do they know when to use existing tools versus building custom solutions?
5. Scorecards
After every interview, each interviewer should fill out a scorecard before discussing the candidate with anyone else. This is critical. If interviewers talk before writing their feedback, they contaminate each other's assessments.
A scorecard should include:
Standardized dimensions. Rate each candidate on the same criteria. For example:
| Dimension | 1 (Below Bar) | 2 (Mixed) | 3 (Meets Bar) | 4 (Exceeds Bar) |
|---|---|---|---|---|
| Technical ability | Could not complete basic tasks | Completed with significant help | Solved problems independently, clean approach | Exceptional depth, novel solutions |
| Problem-solving | Got stuck, did not recover | Needed heavy hints | Broke down problems systematically | Identified edge cases and tradeoffs proactively |
| Communication | Difficult to follow, unclear | Understandable but disorganized | Clear and structured | Exceptionally articulate, adjusted to audience |
| Collaboration | Defensive, dismissive of input | Receptive but passive | Engaged, incorporated feedback | Elevated the conversation, built on ideas |
Specific evidence. Not "they were smart" but "when I asked them to design the caching layer, they immediately identified the cache invalidation problem and proposed three strategies with tradeoffs for each."
A clear recommendation. Strong hire, hire, lean no, or strong no. Every interviewer commits to a position.
Why scorecards matter:
- They reduce bias because decisions are based on defined criteria, not gut feel.
- They enable comparison between candidates using the same yardstick.
- They create accountability — you can look back and see whether your assessments were accurate over time.
- They force interviewers to think critically rather than defaulting to "they seemed nice."
6. The Hiring Pipeline
Think of your hiring process as a funnel. Candidates enter at the top and move through stages, and at each stage some drop out — either because you say no or because they do.
The Stages
Sourcing. Where candidates come from: job boards, referrals, recruiters, outbound sourcing, conferences, open source communities. Referrals tend to be the highest quality and lowest cost. Invest in making your team your best recruiting channel.
Resume screen. Quick assessment of whether the candidate meets the basic qualifications. Spend 30-60 seconds per resume. Look for signal, not pedigree. A candidate from a no-name company who built something interesting is often better than a big-company name with a generic trajectory.
Phone screen (30 min). A quick conversation to confirm mutual interest, assess communication, and check basic qualifications. This saves everyone time before committing to a full loop.
Technical screen (60 min). Usually a coding exercise. This should be your first real filter on technical ability.
Onsite / Full loop (3-4 hours). Multiple interviews covering different dimensions. This is the most expensive part of the process for both sides, so only bring people onsite who you genuinely believe could get an offer.
Debrief and decision. All interviewers meet to discuss. The hiring manager makes the final call, informed by the panel. Do not hire by committee — that leads to bland, consensus hires.
Offer and close. Extend the offer quickly and be prepared to sell.
Where Candidates Drop Off (and Why)
| Drop-off Point | Common Reason | Fix |
|---|---|---|
| After applying | JD was misleading or too vague | Write better descriptions |
| After phone screen | Compensation mismatch | Share range upfront |
| Before onsite | Process is too slow | Compress timeline |
| After onsite | Bad interview experience | Train your interviewers |
| After offer | Competing offer, slow close | Move fast, personalize |
Track your pipeline metrics. Know your pass-through rates at each stage. If you are rejecting 95% of candidates at the phone screen, your sourcing is off. If candidates are dropping out after the onsite, your interview experience needs work.
7. Closing Candidates
Getting a "yes" from the candidate you want is a skill. The best candidate in your pipeline is also the best candidate in three other companies' pipelines. If you are not actively closing, you are losing.
Understand What They Care About
Every candidate has a different decision framework. Some care most about compensation. Others about growth opportunities, technical challenge, team quality, work-life balance, remote flexibility, or mission. Your job is to figure out what matters to this specific person and speak to that.
Ask directly: "What is most important to you in your next role?" Then listen.
Sell Authentically
Do not oversell. Candidates who join based on a fantasy will leave when reality hits. Instead, be honest about both the strengths and challenges:
- "The codebase has some legacy debt — that is part of why we are hiring. You would get to lead the effort to modernize it."
- "We are a small team, which means you will have a lot of ownership, but also means there is less specialization."
- "We are growing fast, which is exciting but also means things change a lot."
Honesty builds trust. Trust closes candidates.
Speed Wins
This is not negotiable. The single biggest reason companies lose candidates is moving too slowly. Here is what fast looks like:
- Phone screen within 2-3 days of application
- Full loop within 1 week of phone screen
- Decision within 24 hours of final interview
- Offer within 48 hours of decision
Every day you wait, the probability of losing the candidate increases. If your process takes 6 weeks end-to-end, you are losing good people to companies that take 2 weeks.
The Close Conversation
Once you have decided to extend an offer, call the candidate personally. Do not have a recruiter send an email with an offer letter attachment. Pick up the phone.
"Hi Sarah, I wanted to call you directly because we are all genuinely excited about bringing you onto the team. After the interviews, every single person said they want to work with you. I want to extend an offer — here is what it looks like. But before I get into the details, I want to check in: how are you feeling about us?"
Then listen. Address concerns. Give them space to think, but set a clear timeline.
8. Avoiding Bias
Every human has biases. The goal is not to eliminate bias — that is impossible — but to build systems that minimize its impact on decisions.
Common Biases in Hiring
Affinity bias. Favoring people who are like you — same school, same background, same hobbies, same communication style. This is the biggest source of homogeneous teams.
Halo effect. One positive trait colors your assessment of everything else. "They went to MIT, so they must be a great engineer." "They worked at Google, so they must be good."
Horn effect. The opposite. One negative impression poisons the rest. "They were nervous at the start, so they must not be confident."
Pattern matching. "The last three great engineers I hired all had X characteristic, so I should look for X." This might be correlation, not causation, and it narrows your talent pool.
Confirmation bias. Forming an early impression and then looking for evidence that confirms it while ignoring contradicting evidence.
Similarity bias in system design. Evaluating solutions as "good" if they match how you would solve it, penalizing equally valid but different approaches.
Structural Mitigations
Structured interviews. Same questions, same rubric, same order. This is the most impactful single change you can make.
Diverse interview panels. Different perspectives catch different things. If your entire panel is senior men, you will have blind spots.
Blind resume review. Remove names, photos, school names, and company names from resumes before screening. Focus on what they built and what they accomplished.
Independent scorecards. Every interviewer writes their assessment before the debrief. No anchoring on the loudest voice in the room.
Calibrated rubrics. Define what "good" looks like in advance, with specific examples. Do not leave it to individual judgment.
Data review. Periodically audit your hiring data. Are you advancing candidates from certain backgrounds at different rates? Are certain interviewers consistently scoring higher or lower? Use data to find patterns you cannot see from inside the process.
9. When to Say No
This is where many managers fail. Saying no is hard, especially when you are desperate to fill a role, your team is overloaded, and this candidate is "pretty good."
"Maybe" is a no. If you are not clearly excited about a candidate, do not hire them. "They are fine" is not good enough. You are making a commitment that will last years. You should feel confident, not resigned.
A wrong hire is worse than no hire. An empty seat creates work for the team. A wrong hire creates work for the team and also creates drama, morale damage, management overhead, and eventually a painful separation. The net impact of a bad hire is often negative — your team would have been better off short-handed.
The cost of lowering the bar. Once you make one compromise hire, it gets easier to make the next one. The team's standards gradually erode. Strong engineers start to leave because they do not want to carry weaker teammates. This creates a death spiral.
How to say no kindly:
- Be prompt. Do not leave candidates hanging for weeks.
- Be honest but gentle. "We decided to move forward with a candidate whose experience more closely aligns with the specific challenges of this role."
- Leave the door open. "Your background is impressive, and I would love to keep in touch for future opportunities."
- Never ghost people. It is unprofessional, it damages your employer brand, and it is simply disrespectful.
When to override your "no":
Occasionally, challenge yourself. If the panel is split and the candidate brings something genuinely different — a background, perspective, or skill set you do not have — consider whether your discomfort is bias rather than signal. This is where diverse panels help: if someone from a different background sees value that you do not, take that seriously.
10. Real-World Examples
The Great Hire That Transformed a Team
We were building a new data platform team. Most candidates had strong individual skills but limited experience with the kind of cross-team coordination the role required. Then we interviewed Marcus.
Marcus did not have the deepest Spark expertise on his resume. He came from a mid-size e-commerce company, not a marquee tech brand. But in the system design interview, he did something unusual: before diving into architecture, he spent 10 minutes asking about who would use the system, what their workflows looked like, and what the current pain points were. He designed the system around user needs, not technical elegance.
In the behavioral interview, he described how he had built a data pipeline at his previous company by embedding with the analytics team for two weeks to understand their actual workflow before writing any code. The result was a system they actually used, unlike the previous two attempts that had been built in isolation.
We hired him. Within six months, he had not only built the core platform but also established working relationships with every team that depended on it. He became the person other teams requested by name. He mentored two junior engineers who both got promoted within a year. Three years later, he is a staff engineer and the technical foundation he built is still serving the company.
The lesson: look for how people think and how they work with others, not just what they know today.
The Bad Hire That Cost Six Months
We needed a senior frontend engineer urgently. The team was behind on a major product launch, and the hiring manager was under pressure. A candidate came through who had an impressive resume — well-known companies, popular open-source contributions, strong technical screen scores.
But there were warning signs we ignored. In the behavioral interview, every example was about individual achievement. When asked about disagreements with teammates, the answers were vague. The culture-add interviewer gave a "lean no" but could not articulate exactly why — it was more of a feeling.
We hired them anyway because the technical skills were strong and we were desperate.
Within a month, the problems started. They dismissed code review feedback. They rewrote other people's code without discussion. They were technically excellent in isolation but made every collaboration harder. Two other engineers asked to transfer off the team. The product launch was delayed not because of technical problems but because of team friction.
After three months of coaching and a formal performance improvement plan, we parted ways. Including the time to re-hire, the total cost was about 8 months of lost productivity, significant morale damage, and nearly losing two good engineers who were considering leaving the company.
The lesson: technical skill without collaboration ability is not just neutral — it is destructive. Trust the behavioral signals.
Losing a Candidate Because the Process Was Too Slow
We found an excellent candidate through an employee referral. She was a senior backend engineer with exactly the distributed systems experience we needed. The phone screen went great. Everyone was excited.
But our onsite loop had a two-week backlog because three of our interviewers were on vacation or swamped with project deadlines. We scheduled her for the earliest available slot. Then one interviewer had a conflict and we rescheduled, adding another four days.
By the time we completed the onsite and the debrief (another three days because people were busy), she had already received and accepted an offer from another company. Their total process took nine days. Ours took twenty-six.
She told us: "I really liked your team, but the other company moved faster and the offer was comparable. I could not justify waiting."
The lesson: you are competing against other companies in real time. Every unnecessary delay is a competitive disadvantage. Treat scheduling with urgency. If your interviewers are too busy to interview, that is a problem you need to solve — not something you push onto the candidate.
11. Common Mistakes
Unstructured interviews. Letting each interviewer wing it with whatever questions they feel like asking. This is the most common mistake and the most damaging. It produces inconsistent signals, amplifies bias, and makes it impossible to compare candidates fairly.
Hiring for "culture fit." This often means hiring people who look, think, and act like the existing team. It feels comfortable, but it builds fragile, homogeneous teams that are blind to their own weaknesses. Hire for culture add — people who share your values but bring different perspectives.
Moving too slowly. Every day of delay increases the chance of losing the candidate. If your hiring process regularly takes more than three weeks from first contact to offer, you are losing good people. Audit your timeline and remove every unnecessary gap.
Overselling the role. Painting an unrealistically positive picture to close a candidate. This backfires badly. When reality does not match the pitch, the new hire feels deceived and disengages — or leaves within months, and now you are hiring again.
Not involving the team. Hiring in isolation and then presenting the team with a new colleague they had no input on. This undermines trust and misses valuable signal. Your team members will catch things you miss, and they will be more invested in the new hire's success if they were part of the decision.
Optimizing for the wrong thing. Hiring the best coder instead of the best teammate. Hiring for current skills instead of learning trajectory. Hiring someone who is great in interviews instead of someone who will be great in the role.
Ignoring the candidate experience. Long silences, disorganized interviews, interviewers who show up unprepared, generic rejection emails. Every candidate who has a bad experience tells 5-10 people. Your employer brand is built one interaction at a time.
Not training interviewers. Assuming that being a good engineer makes someone a good interviewer. Interviewing is a skill. Train people on how to ask questions, how to evaluate answers, how to score consistently, and how to create a welcoming environment.
Business Value
Hiring is not just a people problem — it is a business problem with directly measurable financial impact.
Cost of Bad Hires
The U.S. Department of Labor estimates the cost of a bad hire at 30% of the employee's first-year salary. For a senior engineer earning 60K in direct costs alone. But the real cost is much higher when you factor in:
- Lost productivity: The bad hire's output, the management overhead, and the drag on teammates. Easily $100-200K over the duration.
- Opportunity cost: What the team could have built with a strong person in that seat. This is often the largest cost and the hardest to measure.
- Attrition risk: Strong engineers who leave because they are tired of carrying underperformers or dealing with team dysfunction. Replacing a good engineer costs $50-100K in recruiting and ramp-up time.
- Morale damage: Harder to quantify, but very real. A demoralized team ships slower, takes fewer risks, and innovates less.
A conservative estimate: a single bad senior hire costs the company $300-500K when all factors are included.
Revenue Impact of Great Hires
On the other side, a great hire creates outsized value:
- Velocity: A strong engineer can be 3-5x more productive than an average one, measured not in lines of code but in problems solved and value delivered.
- Multiplier effect: Great engineers make everyone around them better through mentoring, code reviews, technical leadership, and raising standards.
- Retention magnet: Top performers attract other top performers. One great hire can catalyze a virtuous cycle of talent acquisition.
- Innovation: Great engineers identify opportunities that others miss. A single insight — a better architecture, a key simplification, a new product direction — can be worth millions.
Time-to-Fill Metrics
Track these numbers and hold yourself accountable:
| Metric | Good | Average | Needs Work |
|---|---|---|---|
| Time to fill (days from opening to accepted offer) | < 30 | 30-60 | > 60 |
| Time in process (days from candidate first contact to decision) | < 14 | 14-28 | > 28 |
| Offer acceptance rate | > 80% | 60-80% | < 60% |
| Candidate drop-off rate | < 20% | 20-40% | > 40% |
| 90-day retention of new hires | > 95% | 85-95% | < 85% |
| Interview-to-offer ratio | 3:1 - 5:1 | 5:1 - 8:1 | > 8:1 |
Time to fill is your headline metric. The longer a role stays open, the more it costs you in lost productivity, team overload, and candidate quality (the best candidates are off the market within 10-14 days).
Offer acceptance rate tells you how well you are closing. If it is below 70%, either your compensation is off, your process is creating a bad impression, or you are not selling effectively.
90-day retention is your quality check. If new hires are leaving within 90 days, something is broken — either in your assessment, your onboarding, or the gap between what was promised and what was delivered.
Pulling It All Together
Hiring is a system. Each piece — the job description, the process design, the interview questions, the scorecards, the pipeline management, the close — connects to the others. A weakness in any stage degrades the whole system.
Here is what I want you to take away:
- Treat hiring as your highest-priority work. When you have an open role, nothing else you do will have more long-term impact than filling it well.
- Build a structured, repeatable process. Do not reinvent the wheel for every hire. Design your system once, then iterate based on data.
- Move fast. Speed is a competitive advantage. Compress your timeline ruthlessly.
- Hold the bar. Never hire out of desperation. A wrong hire is far more expensive than patience.
- Measure everything. You cannot improve what you do not measure. Track your pipeline, your pass-through rates, your time-to-fill, your offer acceptance rate, and your new hire retention.
Get hiring right and you build a team that makes everything else easier. Get it wrong and no amount of process, planning, or coaching will compensate. This is the foundation.
Common Pitfalls
- Hiring out of desperation. Lowering the bar because the team is overloaded and the seat has been open too long leads to bad hires that cost far more in morale, delivery, and eventual replacement than the pain of staying short-staffed.
- Running unstructured interviews. Letting each interviewer ask whatever they feel like produces inconsistent signals, amplifies bias, and makes it impossible to compare candidates fairly or improve the process over time.
- Optimizing for technical skill over collaboration. Hiring the best coder instead of the best teammate creates team dysfunction that can drive away multiple good engineers and slow delivery to a crawl.
- Moving too slowly in the process. Every unnecessary day of delay increases the probability of losing your top candidate to a faster-moving company. If your process regularly takes more than three weeks, you are systematically losing the best people.
- Overselling the role to close candidates. Painting an unrealistically positive picture backfires when reality does not match the pitch. New hires who feel deceived disengage quickly or leave within months, forcing you to restart the entire process.
- Ignoring the candidate experience. Disorganized interviews, long silences, unprepared interviewers, and generic rejections damage your employer brand one interaction at a time, making future hiring progressively harder.
Key Takeaways
- Hiring is the single highest-leverage activity you will do as an engineering manager. A great hire compounds value for years; a bad hire bleeds energy for months.
- Build a structured, repeatable interview process with defined assessment areas, specific questions, calibrated rubrics, and independent scorecards to reduce bias and increase predictive accuracy.
- Move fast. Speed is a competitive advantage in hiring. Compress your timeline ruthlessly — phone screen within days, full loop within a week, decision within 24 hours.
- Hold the bar. An empty seat is always better than a wrong hire. The cost of a bad senior hire can exceed 500K when you factor in all impacts.
- Separate must-haves from nice-to-haves in job descriptions. Every unnecessary requirement filters out good candidates, especially from underrepresented groups.
- Hire for culture add, not culture fit. Seek people who share your values but bring different perspectives, experiences, and approaches.
- Close candidates by understanding what they individually care about, selling authentically, and making a personal call when extending the offer.
- Track your pipeline metrics — time to fill, offer acceptance rate, 90-day retention — and use them to continuously improve your hiring system.