Hiring Market

How to Hire Software Engineers

Many startups struggle to find affordable talent, leaving them prone to missteps in early technical hires. The demand for engineers has been outpacing supply for years now. And there are no signs this trend will be reversing anytime soon.
Daniel Jakaitis
Daniel Jakaitis
Many startups struggle to find affordable talent, leaving them prone to missteps in early technical hires. The demand for engineers has been outpacing supply for years now.  And there are no signs this trend will be reversing anytime soon.

This isn’t news, but the hiring market for great engineers is nuts right now.

While the tech sector is still vibrating from layoffs and hiring freezes, many engineering and product teams are full steam ahead trying to fill roles. Many startups struggle to find affordable talent, leaving them prone to missteps in early technical hires. The demand for engineers has been outpacing supply for years now.  And there are no signs this trend will be reversing anytime soon.

Regardless of how hard it is to find incredible engineers, recruiters still have hiring quotas to meet.  Desperation to fill vacancies can lead to mistakes. And mistakes are expensive. A single senior engineering hire can cost teams between $40,000 and $60,000, taking anywhere between 60-100 hours of work. This doesn’t even consider the cost of a bad hire (false positive).  Your team must develop a well articulated hiring framework to reduce interviewing costs and false positives alike.

In this post, we’ll answer questions like:

  • How do I find engineers to hire?
  • What do I need to know before I hire engineers?
  • How do I recruit engineers?
  • How should I structure my engineering interview process?
Most of this post comes from my own personal experience leading engineering at a variety of startups and explicitly covers hiring individual contributors (intern to senior) and not management hires (a topic for another day).

Let’s jump in.

Who Hires Engineers?

“Who hires engineers?” may feel like a no-brainer question, but the person hiring engineers can vary from company to company.

Often, recruiters assume that the CTO is heavily involved in the engineering recruiting process. Typically, that’s not the case unless the CTO represents a development team at a very small startup (<10 engineers). In most cases, CTOs usually keep a 10,000-foot view into the engineering org, focusing mostly on technical vision and roadmap.

Most of the time, engineering managers, directors, and VPs will be responsible for hiring engineers to fill out their teams. However, it’s important to remember that there can be a range in hiring expertise from company to company. Some managers will have never hired an engineer before, while others may have interviewed and hired dozens – perhaps hundreds – of engineers in their careers.

Similarly, for first-time founders who have no technical background, they may be stuck not knowing what questions to ask, what red flags to watch out for, or how to assess the quality of engineering candidates properly. Understanding who is hiring engineers at your company can inform your recruiting strategy.

5 Considerations Before Hiring Engineers

In such a competitive hiring market, it’s tempting to open a position and start hiring more engineers immediately. But without doing the necessary prework, your process can seem sloppy and unprofessional. So, before you open that rec, make sure you:

  1. Set a budget - Hiring engineers can be very expensive. According to US News, the median annual wage for software developers in the US was $110,140 in 2020. But today, that’s trending up. At the beginning of 2022, Amazon boosted its base pay up to $350,000 for some roles. And that doesn’t even include the cost of hiring engineers. The engineering hiring process alone can cost somewhere between $30,000 and $60,000. If budget becomes an issue, tools today make it easier than ever to hire high quality offshore development teams.  
  2. Define your needs - Does your new front end engineer really need to have SQL expertise? Do junior developers need deep knowledge of event-driven microservices? Besides figuring out if you need a full-time or freelance hire, it’s important to know specifically what skills and attributes you are looking for. For example, discuss what engineering languages the candidate needs to know, what kind of experience they need, and what an ideal work style might be. You should have a priority ordered list broken into: Must Haves, Should Haves, Nice to Haves. With that information, you can brainstorm strategies for how to find an engineer that meets your requirements. This exercise also goes beyond writing a job description, tilting more toward the specific competencies you need and which ones you can prioritize less.
  3. Create a timeline - Work backward from their desired start date to determine when you’ll need to publish the job description and when to start interviewing. Sticking to this schedule can be tough, especially when last-minute qualified candidates enter the cycle. Keep in mind that the best talent typically stays on the market for fewer than three weeks, so acting fast can be a huge advantage. Talent teams should be tracking time spent within all steps of the hiring process.
  4. Work on your employer branding - Your tech stack, product vision, velocity, work culture, compensation, and perks all impact your ability to find and retain talent. The more people know how great your company is, the more inbound engineering candidates you’ll get. Amazing branding separates your company from the rest of the pack and increases the level of talent you can attract. Make sure you answer questions and comments on Glassdoor, have positive reviews of your interview process, and market your employees on your website.
  5. Set reasonable expectations - Hiring engineers is difficult – many applicants won’t match your exact requirements, will ask for a salary beyond your budget, or will pull out of the hiring cycle late in the interview process. So set reasonable expectations with yourself and the engineering hiring manager for how long and arduous the process will be.

7 Ways to Source Engineering Candidates

Once you’ve established what kind of engineer you’re looking for, how much you can afford to pay them, and when you hope to hire them, it’s time to start recruiting engineers. Here are eight ways to find engineers:

  1. Niche Job Boards - Publishing the job description is just the first step – the key is to market it like crazy. Make a list of relevant ad networks, job boards like Out in Tech, university platforms like Handshake, and data aggregators. You should also consider posting in the Who is Hiring post on Hacker News (on 1st of every month), Github, and Stack Overflow. The point is to get the word out that you’re hiring every place an engineer would hang out.
  2. Technical Content - Writing content that sparks engineers’ interest is tricky, but if you can do it well, it’s a great way to attract high-quality candidates. Some of the most respected engineering cultures have built their brand using technical blogs: from Dropbox, to Stripe, to ClickUp.  Have your technical leadership work on content that tells the story of how awesome it is to be an engineer at your company. Make use of HackeNews and Reddit to get the word out there when your post is live.
  3. Hackathons - Putting on hackathons can lure in standout engineers looking for a challenge. Pay close attention to the people excited to learn and get a thrill out of solving complicated problems – they are likely to be excellent hires. If your company is smaller, try sponsoring a hackathon at a local conference.
  4. Meetups - Hosting after-work happy hours and meetups can expose you to a new set of candidates. Meeting someone in person can give you a sense of their personality and whether or not they would be a culture fit.
  5. Sourcing platforms - There are so many sourcing platforms, but only a few actually do what they claim to do. We recommend leveraging Human Predictions, a platform that collects and analyzes unique datasets to intelligently uncover potential new candidates and prioritize the ones who have already applied.
  6. Personal networking -  You probably know a good number of engineers, so make a list of those people. If they are a fit for the role you’re looking to fill, ask them if they’d want to join your company. Even if they don’t, they might know other engineers looking for a job and would be willing to make introductions. Remember, networking isn't about handing out business cards, but more akin to when you were 6 years old making new friends at the playground. Find groups or conferences you want to participate in and go check them out. Be bold, introduce yourself, everyone is there to meet new people, and they will be glad you helped break the ice.
  7. Cold outreach - While cold outreach can feel awkward, it can yield high returns if done well. Writing hyper-personalized emails can excite engineering candidates about the role you’re hiring for and your company. It can be even more powerful when that personal message comes from the head of engineering or founder. If you’re not sure where to start, check out some of our cold outreach templates here.

2 Pillars of Interviewing Engineers

Engineering interview processes can vary in length, often being no less than 3 interviews (screening, technical assessment, on-site). Notoriously rigorous interview processes at companies like Google or Amazon, can span several interviews, often with an escalating ladder of more complex technical assessments, interlaced with soft skills assessments. However, being explicit in the purpose of each interview helps your team set the bar to promote a candidate to the next round. To properly hire great technical candidates you will need to have an explicit strategy for both technical and soft skills assessments.

Technical Assessments  

While technical assessments are the bane of most engineers’ existence, the reality is that they significantly reduce your false positive rate. Coding challenges are a very efficient way to hire.

Junior engineers–interns up to mid-level positions –we suggest scheduling a quick screening call to evaluate basic communication skills before then conducting an in-person or take-home assessment. This guarantees that you don’t waste time getting to know candidates who don’t have the technical chops to excel in your role.

For more senior individual contributors, you want to focus more heavily on architecture and system design questions upfront. Senior engineers need to be able to effectively communicate dense topics in clear, logical terms. Top candidates will not only describe an effective solution to the prompt, but will ask insightful questions as they formulate a response. A senior engineer must be able to identify tradeoffs between a variety of solutions. Gold medal candidates will include anecdotal details from past experience to explain their reasoning – this offers a glimpse into their ability to learn and share experience.

Subsequent interviews for senior talent should include more rigorous technical questions related to the specific domain the role fits into. In many cases, this will take the form of a coding assignment but may vary by role.

If you have never hired an engineer, or you are not technical by background, find a trusted advisor or consultant to help you run these technical rounds.  

Overall, keep your technical assessments quick – 45 minutes or less. Each assessment should focus on a specific skills area and act as a checkpoint to proceed or reject a candidate. Your goal with technical assessments is to get a sense of their raw technical abilities, creativity, and problem solving skills.

Soft Skill Assessments  

Engineers who know their stuff but can’t work with others are going to cause problems in the long run. Many teams run by technical leaders can easily forget the importance of non-technical qualifications when hiring new engineers. Interviewers should prepare a set of topics to discuss during later-stage interviews that tease out a person’s curiosity, cooperativeness, and willingness to learn.

Auth0, an extremely popular company among engineers, likes to present candidates with situations they’ve faced in the past and ask how the person would solve those problems. In candidates’ responses, they actively look for clues about how candidates research new concepts, manage expectations, and incorporate feedback. Other companies use an “ABCDEF” approach, forming questions that get at engineers' agility, brains, communication, drive, empathy, and fit.

It’s a good idea to include non-technical team members in soft skill assessments. They have a different point of view and may carry less bias when assessing the candidate.

You might consider walking with the candidate off-campus for a coffee or beer, letting them answer questions like these in a more relaxed setting:

  • What are your motivations – both for this job and in life?
  • What is the hardest thing you have ever had to do?
  • What’s a work environment you’ve excelled in before?
  • What is a piece of advice you would give your younger self today?
  • What is a topic you recently learned about? Can you teach it to me?

No matter what approach you use, we strongly encourage structured interviews in which interviewers pose specific, prepared questions designed around a competency model to ensure the interviewer gets a holistic picture of a candidate’s characteristics and qualifications.

There’s so much complexity to a technical hire that even taking candidates through technical and soft skill assessments doesn’t tell you everything. Assessing candidates’ current technical knowledge and resume does not necessarily reflect what they are capable of doing in the future (or vice versa). And even the best soft skill assessments don’t always show someone’s tenacity, resiliency, or earnestness. All key traits of the top hires. You’re almost always going to base your decision on incomplete information.

But remember, it’s a candidate’s market for engineers, so having a dialed-in process is non-negotiable. The best candidates will be interviewing elsewhere, and you want to communicate your interest by respecting their time. Keep in touch throughout the process – the more communication and the faster your responses, the better.

Check References

A final bit of advice – and something that applies well outside engineering hires – check a candidate's references. Don’t simply ask for 1-2 references, ask for 4-5, and plan to call every single one of them. Expect at least one or two former managers in the reference list. Most corporate HR departments train their employees to avoid providing specifics in a reference call (some don’t even allow providing references!), so you will need to be a bit aggressive in getting to the details of a candidate.

For startups, one of the most cutting and to the point questions to ask a candidate’s reference is “would you start a company with this person?” Even if your team has grown beyond the early days of working out of the garage, the answer to this question will tell you a lot about how a reference views your candidate.

Start Hiring the Best Engineer Candidates

Hiring engineers is easier said than done – even in softer job markets. You need a compelling reason for engineers to work for you, whether that’s your company culture, the projects they get to work on, their salary, or all three. On top of that, you need an organized recruiting and interview process that’s quick and efficient.

Whether you’re just starting to develop your engineering hiring process or want to refine it, Chatkick can help you optimize each step of your hiring process through automation and data-driven insights.

The best frameworks, tips, and processes for all things hiring.