Hiring Tips
How to hire a software engineer: a hiring manager's guide
John Waslefsky June 24, 2026 12 min readQuick answer
Hiring a software engineer typically takes around 4-6 weeks from scoping and JD to hire for most SMB roles and follows six steps: scope the role honestly, write a tight job description, pick the right sourcing channel(s), screen for signal not credentials, run a focused technical interview, and clos e fast with a written offer. Most SMB hires fail at scoping, not at interviewing.
Reviewed by John Waslefsky Last updated June 23, 2026
Hiring a software engineer at a 20-100 person company is not a smaller version of hiring at Google. The constraints are different, the stakes per hire are higher, and most of the advice written for large engineering orgs actively hurts SMB teams that follow it. This guide is for the hiring manager filling their first, third, or tenth engineer at a small or mid-sized company. It walks the whole process — scoping the role through closing the offer — with the trade-offs we see most often when SMB teams get stuck. Scope the role before you write the JD. Most bad hires trace back to a fuzzy brief, not a bad interview.
-
Pick one sourcing channel and run it well. Trying all of them in parallel produces noise.
-
Screen for signal: shipped work, clear reasoning, ownership. Not years of experience or specific frameworks.
-
Run a 3-step interview loop, not five. Five rounds lose candidates faster than they filter them.
-
Decide in 48 hours after the final round. Write the offer the same day. Slow offers lose more hires than low offers.
Step 1 — Scope the role honestly
Before you write a single line of a job description, answer four questions in writing:
-
What will this person ship in their first 90 days? If you cannot name a real project, the role is not ready to hire.
-
What does success look like at 12 months? Concrete output, not "drives initiatives."
-
What are the three skills this role cannot succeed without? Not "nice to have" — actually non-negotiable.
-
What is the salary band you are willing to pay, top to bottom? If you cannot answer all four, you are not ready to open the role. Hiring against an unclear brief is the most common reason SMB hires fail in year one. It is also the easiest mistake to avoid — it costs you an hour, not a quarter.
Step 2 — Write a job description that respects the reader
A good engineering JD does three things: tells the candidate what they will work on, tells them why it matters, and tells them what they need to bring. Most JDs fail because they pad the third bullet with 15 "requirements" copy-pasted from older postings. What to include:
-
One paragraph on the product and the team. What do you do, how big is the team, who would they report to.
-
Three to five real projects they will own in the first six months. Specific.
-
Three to five non-negotiable skills. Three is better than five.
-
Salary range. Yes, post it. Roles with public ranges get 30–50% more qualified applicants and dramatically fewer time-wasters. Several states now require it.
-
Where the role is based. Remote, hybrid, in-office. Do not be vague. What to cut: "We are looking for a passionate self-starter." Bullet lists of 12 frameworks. "5+ years of experience" if what you actually mean is "has shipped production systems." Diversity statements that are not backed by anything visible on the careers page.
Step 3 — Pick the right sourcing channel
There are four sourcing paths for SMB engineering hires. Pick one. Maybe two. Not all four.
Employee referrals. Cheapest, highest quality on average, slowest to produce volume. Pay a real referral bonus ($2,000–$5,000), give people the JD in writing, and follow up. Caps out at 1–2 hires for most teams.
Job boards (LinkedIn, Indeed, Hired, Hacker News Who's Hiring). Cheapest cash cost after referrals. Produces volume; signal-to-noise varies. Works best for well-known companies, mid-level roles, and locations with deep talent pools. Plan to screen 50–150 applicants per hire.
In-house recruiter (full-time or fractional). Best when you will hire 5+ engineers in a year. A good technical recruiter spends 60% of their time on outbound sourcing. Salary range $90k–$140k plus commission, or $4k–$8k/month for fractional.
Contingency or retained agency. Best for senior, niche, or hard-to-source roles where you cannot find candidates yourself, or when you need to fill one role fast and do not have the bandwidth to run a search. Fee is 20–25% of first-year salary, paid once. Worth it when your time costs more than the fee — usually true for senior and leadership roles. The mistake to avoid: posting on LinkedIn, hiring an agency, asking for referrals, and signing up for a job-board subscription all in the same week. You will be drowning in unqualified resumes, paying for channels you are not running well, and learning nothing about what works.
Step 4 — Screen for signal, not credentials
The resume screen is where most SMB teams either filter out their best candidates or wave through their worst. The fix is to read for signal:
-
Shipped work. Have they actually built and released something at the scale you need? Side projects count if they are real. Five years at a 300-person company where they "worked on" things does not.
-
Tenure pattern. Two short stints among five longer ones is fine. Five short stints in a row is a pattern.
-
Clarity of writing. A resume that explains what they did and what changed because of it is a strong positive signal. Engineers who can write clearly almost always think clearly.
-
Domain proximity. They do not need to have worked in your exact industry, but a backend engineer who has only built React frontends is not a backend engineer. What to ignore: school name, exact framework match (a strong Python engineer learns Go in a month), and gaps in employment unless they are unexplained over many years. Replace "5+ years experience" filters with a 10-minute phone screen. You will learn more in 10 minutes of conversation than from any resume keyword filter.
Step 5 — Run a focused interview loop
Three rounds. Not five.
Round 1 — Recruiter or hiring manager phone screen (30 min). Confirm role fit, salary alignment, motivation, timeline. Half of your funnel falls out here on legitimate misalignment. That is the point.
Round 2 — Technical conversation with the hiring manager and one senior engineer (60–75 min). This is where most teams fail. The right format depends on the role:
-
Backend / full-stack: a take-home project (2–4 hours, paid if possible) followed by a walkthrough conversation. Far better signal than live coding for most production engineers.
-
Senior / staff: a system design conversation on a problem close to what you actually work on.
-
DevOps / infra: debugging a real broken environment in a shared screen, or a deep dive on something they have built. Whatever format you pick, the test should look like the job. Hazing candidates with algorithm puzzles they will never use at work selects for people good at algorithm puzzles, not people good at your job.
Round 3 — Team fit and one cross-functional partner (45–60 min). Meet the team they will work with. One PM or designer they will collaborate with. This is a calibration round, not a gauntlet — by this point, you should already be 80% sure. Decide within 48 hours of the final round. Communicate the decision to the candidate within 48 hours of deciding. Every week of silence after the final round increases the chance they take another offer.
Step 6 — Close fast and close cleanly
The best candidates have other offers. They are weighing yours against at least one other within a 1–2 week window. How you close matters as much as the package.
-
Make a verbal offer same day or next day after decision. Then send the written offer within 24 hours.
-
Lead with the things that are differentiated. If you are a 40-person company, your differentiator is impact and ownership, not free snacks.
-
Negotiate once. Make a strong opening offer, hear their counter once, decide if you can meet it, and respond within 24 hours. Two-week negotiation cycles signal disorganization.
-
Stay in touch between offer and start date. Send a welcome note from the team. Ship laptop early. The 4–6 weeks between offer and start is when candidates get pulled back into counteroffers from their current employer.
What to do when the search stalls
Most stalled searches have one of three root causes. Diagnose before you change tactics.
-
Top of funnel is too thin. Less than 10 applicants per week from your active channels. Fix: widen the salary band, broaden the JD, switch sourcing channel.
-
Top of funnel is fine, screens are killing everyone. Your screen criteria are too narrow, or the role is genuinely above market for the band. Re-read the JD against the offers candidates are giving you elsewhere.
-
Late-stage drop-off. Candidates make it to round 3 and then disappear. This is almost always a closing problem: slow decisions, weak offers, or a team interview that scared them off.
How long the whole thing takes
For a typical SMB mid-to-senior engineering role:
- Scoping + JD: 1 week or less
- Active sourcing + screens: 2–3 weeks
- Interview loop per candidate: up to1 week
- Offer + close: up to 1 week
- Start date: 2–3 weeks after offer signed (notice period)
End-to-end: up to 12 weeks from "we should hire" to "they are at their desk." If your search is faster than 3 weeks, double-check you actually filtered hard enough.
Related reading
- Direct hire vs contract-to-hire: what's the difference?
- How much does it cost to hire a software engineer?
- Software engineering recruiting
If you are running a search now and it is not going the way you hoped, reach out . Sometimes a 30-minute conversation about the brief saves more time than another month of sourcing.
Frequently asked questions
How long does it take to hire a software engineer?
For a typical SMB mid-to-senior role, plan on 3-6 weeks from kickoff to start date. That breaks down to about a week of scoping, two weeks of interviews per finalist, and two to four weeks of notice period after the offer signs.Should I post a salary range on the job description?
Yes. Roles with public salary ranges get 30 to 50 percent more qualified applicants and dramatically fewer time-wasters. Several US states now require it. Even where it is optional, posting the range builds trust and saves both sides time in the screen.How many interview rounds should I have?
Three is right for most SMB engineering roles: a screen, a technical conversation, and a team fit round. Five-plus rounds lose strong candidates to faster-moving competitors and rarely produce better hires. If you cannot decide in three rounds, the problem is usually unclear criteria, not too few rounds.Should I use a take-home project or live coding?
For most production engineering roles, a short take-home (two to four hours) followed by a walkthrough conversation produces better signal than live algorithm coding. It tests what the job actually requires. Reserve live coding for senior system design conversations or roles where on-the-spot problem solving is the job.When should I hire a recruiter vs do it myself?
Do it yourself when you can dedicate 8 to 12 hours a week to sourcing and have a strong network for the role. Use an external recruiter when the role is senior, niche, or urgent, when your time is worth more than the fee, or when you have already run a search for 6 weeks and the funnel is too thin.What's the most common reason a software engineer hire fails?
Unclear scope at the start of the search. The role gets posted before the hiring manager has decided what the person will actually own, what the success criteria are, and what trade-offs they are willing to make. Bad interviews get blamed, but the bad brief is almost always the root cause.Related articles
Hiring Tips
Why SMB companies lose top engineering talent — and how to fix it
Invenio
Hiring TipsWhy SMB companies lose top engineering talent — and how to fix it
The biggest hiring mistakes small and mid-sized technology companies make when competing for senior engineers, and practical strategies to win.
Aug 7, 2026 6 min read Read articleindustry-trends
The 4 Types of Enterprise Debt
Invenio
industry-trendsThe 4 Types of Enterprise Debt
Jul 16, 2026 3 min read Read articleIndustry Trends
How much does it cost to hire a software engineer?
Invenio
Industry TrendsHow much does it cost to hire a software engineer?
A complete cost breakdown for SMB technology teams: salary by level, fully-loaded cost, recruiting cost, cost of vacancy, and the cost of a bad hire — with real numbers.
Jun 5, 2026 10 min read Read articleReady to find your next great hire?
Whether you're building a team or exploring your next career move, we're here to help.
I'm hiring I'm looking for a role