Hiring Blog
Articles
Hire a software engineer
Attracting talent

How to hire a Software Engineer (without a recruiter) in 2025

Hiring a Software Engineer on your own takes both skill and empathy. We've got plenty of tips and real-life examples to guide you through the process.

Brook Fischer
Brook Fischer
Last Updated:
October 31, 2024
15
min read
SHARE
www.homerun.co/articles/how-to-hire-a-software-engineer
Table of Contents
Listen to this article. Audio recording by
Brook Fischer

Demand for Software Engineers is at an all-time high. As a small business or startup, your budget might not be the biggest, so what can you do to attract and hire a Software Engineer (and an outstanding one at that) within a reasonable timeframe?

You’ll be happy to learn that many Software Engineers don’t get into this line of work just for the Benjamins 💸…or euros…or whatever currency you’re paying in. According to a recent survey from Hired, the top reasons Software Engineers are drawn to this profession are:

  • New challenges and continued learning
  • Building products/solutions and problem-solving
  • Earning potential
  • Opportunity to work remotely
  • Work-life balance
  • Career stability
  • Opportunity to express themselves creatively
  • Chances to collaborate with other tech workers

The Software Engineers surveyed said an ideal work environment would include great managers, flexibility around work hours and co-workers they get along with and can learn from. They were also excited about opportunities for professional development and career growth, chances to solve challenging problems, a great product, startup/entrepreneurial environments and initiatives supporting Diversity, Equity & Inclusion in the workplace.

That’s a lot to work with, and surely your company can offer many of these elements! So let’s talk about the practical ways you can improve your ability to attract, hire and retain Software Engineers.

Hold up! Do I need a Software Engineer or a Developer?

Before we go any further, let’s take a moment to discuss the responsibilities of a Software Engineer and a Developer. They both use programming skills to create software and applications for web or mobile and their roles overlap in many ways, but if you boil things down, you’ll see there are some differences.

Put simply, Software Engineers are typically responsible for systems as a whole (designing, development, maintenance, testing, and evaluation of software) and Developers focus on building software and apps and solving problems within the system.

Our Director of Privacy and Security, Arkaitz, who happens to have two degrees in Computer Science 🤓, puts it this way: “Engineers are like architects who design the building and Developers are the ones building it. Historically, Engineers approach a problem in a very methodical way, like applying science. Software is different because you can build something without the worry of a building collapsing.”

Now that you know the theory, it’s good to know that in practice many people use the terms Software Engineer and Software Developer interchangeably, and with good reason. There is no hard and fast rule that a Software Developer cannot oversee an entire application’s development.

To avoid any confusion, make sure to be extremely clear in your job description about what it is the person in the role will be doing. If that’s clear, then the title you choose doesn’t matter all that much. For the remainder of this article we’ll use the term Software Engineer, but if you’re here, say, looking for tips for hiring a Software Developer at a startup, you’re still in the right place.

7 steps for hiring a Software Engineer

  1. <a href="#Rethink-your-hiring-process">Rethink your hiring process</a>
  2. <a href="#Polish-up-your-career-page">Polish up your career page</a>
  3. <a href="#Put-together-a-compelling-job-post">Put together a compelling job post</a>
  4. <a href="#Create-a-streamlined-easy-to-fill-out-application-form">Create a streamlined, easy-to-fill-out application form</a>
  5. <a href="#Source-Software-Engineers-on-your-own">Source Software Engineers on your own</a>
  6. <a href="#Promote-the-job">Promote the job</a>
  7. <a href="#Hire-with-speed">Hire with speed</a>

<div id="Rethink-your-hiring-process"> Rethink your hiring process </div>

Hiring Engineers requires a different hiring process than most other roles, especially for small businesses that haven’t made a name for themselves yet. The fact that Engineers are in such high demand and are offered such competitive salaries means you have to do things a little differently!

Normally you might begin by putting together a stellar job post and application form and distributing them in all the right places. While you can and should still do those things, you should keep in mind that most Software Engineers won’t be doing a lot of deep research to find jobs. The fact is that they don’t need to because they’re approached by recruiters every day.

This is where sourcing comes in. You need to be prepared to do a little digging of your own and reach out to the candidates you’re interested in.

Here’s how it works: You’ll do some research, identify potential candidates and have the most relevant person on the hiring team (e.g. the head of Engineering) send them a well-crafted, personalized message with your job post and a link to your career page. If they are interested, then you’ll set up a chat as soon as possible to discuss the role in more detail and get them excited about the prospect of working with you.

It may seem daunting at first, but don’t worry, we’ve got plenty of tips to help you get the hang of it. We’ll tell you where to find your Software Engineer candidates, how to approach them and how to make this a reasonable and scalable task so that you still have time to do your own job!

Before you go searching for that perfect fit, you need to make sure you have all your ducks in a row, starting with your career page. 👇

<div id="Polish-up-your-career-page">Polish upyour career page </div>

When reaching out to Software Engineer candidates, you’ll want to make it easy for them to get a sense of your company culture and core values. That’s why your career page needs to be in tip-top shape – so your next potential team member can simply click on a link and start discovering who you are as a team, what makes your company special and if they might enjoy working with you.

Need a little inspiration? We’ve got ten career page tips that you can implement right away.

1. Tell your company’s story – This is a chance to explain why your company exists, what it stands for and why someone would want to be a part of it. Some ideas: share your founding story or a company timeline.

2. Be transparent about your hiring process – Let candidates know exactly what to expect so they can plan ahead and move forward knowing they won’t have to jump through any unexpected hoops.

3. Get concrete about what it’s like to work at your company – Share photos and/or videos of your office and team and describe what it’s like to work with you.

4. Show off your team and their expertise – In addition to team photos, Bakken&Baeck has a dedicated tech blog written by the Engineers in their team, which is a great way to attract talent looking to work with a team of inspiring and skilled people.

5. Add the perks of working at your company – Perks are a reflection of your company’s values, so let Software Engineers know what’s in store for them if they join the team! Be sure to display perks in a clear, aesthetic way. Here’s how we do it at Homerun:

<div class="browser-container">
<div class="browser-chrome">
<div class="browser-block-buttons">
<div class="browser-icon"></div>
<div class="browser-icon"></div>
<div class="browser-icon"></div></div></div>
<img src="https://cdn.prod.website-files.com/5e1452b8eb497cb0d999c76f/63a5c1c197ca891e7592beaf_Balanced%20Benefits%20at%20Homerun.png" loading="lazy" alt="Displaying perks" class="browser-image"></div>

6. Use creative copy that reflects your company culture – Your company’s culture and values can and should permeate every word you write. Check out Figma’s career page for some inspo.

7. Include icons of your tech stack – Engineers will be interested to know what sort of programming languages, frameworks, applications, front-end tools and back-end tools you use.

8. Share your company values73% of job seekers will not apply to a company unless that company’s values align with their own. So display those values!

9. Highlight your accolades – Received an award or a cool write-up? Now’s your chance to toot your own horn. 🎺 These accolades say something about the goals that you strive towards and the kind of work you do.

10. Include team members’ testimonials – Sharing quotes from team members on your career page will both inform and inspire candidates.

A beautiful career page is a brilliant way to stand out and show off both your team and company culture. All of the above tips are just a few clicks away when using Homerun. You can create a solid career page in minutes without having to rely on Designers, Engineers or Marketing colleagues.

Screenshot of what a careers page looks like when you use Homerun's hiring tool.


📣 For more tips and examples of captivating career pages, check out 12 amazing career pages to inspire your own

Some other ways you can strengthen your employer brand – and directly related to the feedback given by Software Engineers – include:

  • Highlighting flexible work opportunities (Remember? This is part of their ideal work environment.)
  • Emphasizing your company’s commitment to DE&I
  • Sharing your approach to career growth and professional development – for example, mentorship programs, education budget, networking sessions or lunch-and-learns

There are many other things you can do to spark interest and improve the candidate experience, which we’ll talk about in the next sections.

<div id="Put-together-a-compelling-job-post">Put together a compelling job post</div>

On average, candidates spend less than six seconds reading a job post. Obviously every second (and every word) counts, so keep the text short and snappy and make it personal.

Example of a compelling job post that was created with Homerun's hiring software.

The idea is to get them interested in talking to you so you can go more in depth in the interview. The job post needs to be clear and compelling and refer to the Software Engineer’s experience, tech competencies and responsibilities. You’ll also want to focus on soft skills such as organization, communication, adaptability and time management.

Once you’ve determined the exact type of role you want to fill, it’s time to create your job description. It should have four important components.

1. About the job

Here you’ll talk about the position and what it entails. To make sure you’re writing something that really speaks to candidates, have the Engineers on your team come up with the job description and then pass it along to someone in Marketing or Communications to put some sparkle on it. ✨

You can save time by starting with one of our ready-made Engineering job description templates (including our Front-End Developer job description template) and adding details to make it your own!

💡

Example: About the role

As a DevOps Engineer at [company name], you will play a critical role in building functional systems that will help improve the customer experience and company productivity. You will work with our team of Developers on a daily basis to analyze data from existing systems. You will be able to use this data to create and implement improved system software. Ultimately, you'll have a huge impact on the Developer team's systems development life cycle. Together you'll provide continuous delivery of new features with high software quality. Important stuff!

2. About the candidate

Talk about some of the important skills and traits you’re looking for and remember to speak directly to the candidate. Here are a few more helpful job description writing tips ✍️ for small businesses and startups looking to hire a Software Engineer:

  • Don’t go overboard with requirements. Research shows that women are less likely to apply to job posts if they can't check all the boxes (listed requirements), while men will apply when they meet only 60% of them. Studies have found that gender diversity within teams is positively related to radical innovation, so ditch the long list of bullet points and aim to attract diverse talent!
  • Think twice about requiring some sort of degree. Lots of talented Engineers are self-taught and you wouldn’t want to exclude them.
  • Remember that programming languages can be learned. Focus more on things like “quick learner” and “open to learning new languages” than demanding that they already know the programming language your company works with.

Example: About you

  • You have a background in Engineering, Computer Science or a similar field
  • You are able to program applications like Python and Ruby
  • You have a solid understanding of git and git workflows
  • You have a familiarity with databases and SQL
  • You're familiar with civil engineering, customer service and software engineering
  • You are experienced with the development and implementation of large-scale engineering applications
  • You are a natural problem solver
  • You have a collaborative attitude when it comes to teamwork

3. About the company

Here is where you tell your candidates what you’re about and what it’s like to be part of the team. They should get a sense of why it's going to be great to work with you at your company.

Give them a taste of your mission, values and culture, which will make them want to go deeper and learn more. Be sure to include a link for your career page so they can do that!

Example: About us

We're an agency that strongly believes in curiosity, equality and creativity. We love to build digital products in close collaboration with our target audience in order to have a positive impact on the world with tech. We highly value an open mind, collaboration and ownership in our team. So if you take pleasure in trying to solve big societal problems with technology, then join our team of activists, creatives and tech geeks! Learn more about [add your company name with a link to your career page] here.

4. Additional info

Keep in mind that most Software Engineers are not actively looking for a job, so if they’ve got eyes on your post, this is the time to capture their attention and pique their interest. Add in the kind of information that will give potential candidates a solid overview of your company and motivate them to get in touch with you.

You can share things like photos of the team members they’ll be directly working with and the tech stack they’ll be using (think PHP, Vue, GitHub, AWS, etc.).

Take this opportunity to also share some perks here, especially the ones you know Software Engineers are looking for. Below are some examples of attractive benefits that you might be able to offer:

  • remote or hybrid work options
  • flexible schedule
  • access to a community of talented Engineers and experts
  • professional development opportunities like conferences or a learning budget
  • 4-day work week with full-time pay
  • career growth opportunities
  • gym memberships and classes
  • mental well-being support, like Oliva
  • generous/unlimited annual vacation leave
  • parental leave (more than the statutory minimum)
  • childcare stipends
  • relocation assistance
  • stock options

With Homerun, it's easy to highlight the perks and unique aspects of your company in an aesthetically-pleasing way with our easy-to-use job blocks.

OneUp


You can add icons of your perks and tech stack, photos of your Product team and even a playlist of tunes you listen to at work.

Every element you add makes your post richer and more engaging, helping you stand out in a sea of bland job posts! Start creating yours immediately with the help of our collection of beautifully-designed job post templates.

<div id="Create-a-streamlined-easy-to-fill-out-application-form">Create a streamlined, easy-to-fill-out application form</div>

The application form is another nice opportunity to connect with candidates and show them you’re a forward-thinking business with a thoughtful hiring process. According to a study from Appcast, 92% of candidates abandon online job applications due to too many steps, so make it as easy as possible for candidates to apply!

That means making only basic info required (name and email address) and any other additional fields should be optional. Maybe you request their LinkedIn profile and ask a couple other questions. If they include the info, great, but if not, they still should be able to apply.

📣 50 insightful job application questions to inspire you

For more transparent negotiations and to help everyone save time, you may decide to ask for candidates’ salary expectations and work preferences up front. (Be sure to research the average salary of a Software Engineer to get an idea of what you’re in for.) Consider including candidate wish lists as well to see if you can match their requests.

OneUp

We understand that real-world skill assessments help you get the insights you need to find a better fit faster, but time is of the essence here. You can always arrange for straightforward role-based assessments like programming challenges or customizable tech assessments later in the hiring process.

Note: It’s quite normal to pay candidates to do these types of assessments, so determine a flat or hourly rate in advance and have the candidate invoice you once the assessment is complete.

<div id="Source-Software-Engineers-on-your-own">Source Software Engineers on your own</div>

You may have a killer job post/application combo that you’ll share in all the right places, but that doesn’t necessarily mean you’ll have Software Engineers beating down your door. In fact, we once tried that approach and had zero applicants at first. 😳

It was an eye-opening experience that motivated – okay, forced – us to explore different avenues. We learned a lot along the way and can confirm that when hiring a Software Engineer, sourcing can provide excellent results.

Sourcing involves proactively identifying candidates who may be a good fit for the role you’re looking to fill and engaging them to see if they would be interested in working with you. We found our Software Architect Adrian this way (we reached out to him on Honeypot) and we also hired our Senior Back-End Engineer Fernando through sourcing.

How to source like a pro

💪 Check in with your team first – Maybe someone on your team is already connected to stellar Software Engineers through former jobs, Engineer forums, websites and Slack groups. See who’s in their network, who they look up to and who they would love to work with. They’ll already have valuable insights into potential candidates’ technical, problem-solving and soft skills, which is a huge plus.  

💪 Talk to other people IRL – It also helps to chat with relevant companies in your neighborhood, building or shared workspace. You may end up with some nice recommendations and connections. Attending and hosting meetups can be another good way to meet Engineers and expand your talent pool. 

💪 Start high-level sourcing on LinkedIn – To do a quick and efficient Google search for Software Engineer candidates on LinkedIn, try a tool like Recruit’em. This enables you to see out-of-network connections and include filters like country, job title, education and employer. Another sourcing technique is to look at the career pages of the companies you admire and look for people in the role that you’re hiring for. You can check out their LinkedIn profiles and look in the sidebar at “People also viewed.” 

💪 Explore relevant tech forums and community groups – Some of the most popular places to source talent are Stack Overflow, GitHub and SourceForge. These give you access to open source code contributors and allow you to see code samples. And don’t forget the multitude of Engineering groups to be found on LinkedIn, Slack, Reddit and Discord. Ask the Engineers on your team and in your network to post in the communities they’re active in and the ones they think will surface some great candidates.

Get laser focused! Here are some more targeted tech spots where you can search for prospects:

  • Sites with coding competitions like TopCoder, CodeChef and HackerRank. Check the leaderboards and you may just find a “winner” for your team!
  • Technical postings and blogs. See how certain Software Engineers explain projects and gain insights into how they work

💪 Narrow down your selection – Once you've looked at prospects more in depth on GitHub and other pertinent platforms, determine as a team if it makes sense to reach out. (As you research and discuss each prospect’s unique attributes, remember to take notes. This part will come in very handy later.)

💪 Streamline the process – Use a handy tool like Homerun’s Talent Clipper to save candidates and contact them when you’re ready. Whether you find someone’s profile on LinkedIn, Twitter, Facebook or GitHub, all it takes is two clicks to add candidates to your talent pool.

<div class="browser-container"><div class="browser-chrome"><div class="browser-block-buttons"><div class="browser-icon"></div><div class="browser-icon"></div><div class="browser-icon"></div></div></div><div class="wistia_responsive_padding" style="padding:59.38% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_w8xwn9e4z4 videoFoam=true" style="height:100%;position:relative;width:100%">&nbsp;</div></div></div></div>

Reaching out

Sourcing means cold ❄️ emailing or messaging someone, but the approach should be the opposite. The trick is to send a warm, friendly, honest and personalized message to the person and to give them all the information they need to want to continue the conversation.

We asked our Head of People, Rita, to share some tips for nailing this type of message and she said it all starts with good research. The more you can learn about the prospect through things like their social media posts, comments in tech forums or personal blogs/websites, the more you have to talk about when you reach out.

If there is a specific project they worked on that you admired or you share a favorite band, point it out. It’s these little personal details that make a big difference.

Don’t believe us? Then check out this Q&A with our Senior Back-End Engineer Fernando, who we sourced back in 2019.

Q&A: Fernando’s thoughts on sourcing

1. What’s it like being sourced by different companies? Feel free to share the good and the bad.

It is in general a bit annoying mostly because of how frequently recruiters/bots approach people. I always feel good about connecting with people, and I like to be friendly, leaving every possible door open, but it is very hard with a high frequency of contact and it makes some social networks like LinkedIn almost unusable. At some point I just stopped replying to people and ignoring most of the unsolicited approaches.

What annoys me the most is impersonal, very generic messages, and even worse, being approached for a job that clearly is not a fit. Most of the time it feels like I’m being texted by a bot or some predefined template is being used, or that the human being on the other side didn’t really look at my skills, career path, personality, interests, etc.

In the end I guess it is a good problem to have. Who doesn't want to have job opportunities knocking on their door all the time? I just wish people had a bit more empathy when approaching other people they don't know.

2. What was it like getting sourced by Homerun? What helped you decide to reach out and eventually interview?

I was approached by email, which is less common, but it feels more personal already. The theme of that email was me. It was about me, what they liked about me, about how my technical and personal interests were both a good fit for the company, about my hobbies, a few references to articles I had published a while ago and how they were looking forward to reading more.

From this point forward, it was crystal clear this was personal. Someone spent their time looking me up online and carefully skimming through my digital persona. Someone had enough empathy to prepare this so well before approaching me. And empathy is a key word for me because, from this point forward, I had empathy as well. I was inspired to read the rest of that email and I wanted to meet this person, this team and this company.

Regarding the structure of the message, Rita said she writes something different every time, but in general: “One part should be about the company, one part about the role and one part about why you want to hire this candidate. Sell the company and the role, spark interest and focus on why they would be the perfect fit.”

You obviously won’t have a ton of time to spend on writing and sending messages, so here’s what you can do:

  • Enlist a copywriter (or any talented writer) on your team to craft an engaging message template. You can add details and tailor it for each potential candidate.
  • Aim to send two custom messages a day. Make sure they are personal, nice to read and sent from your Engineering team lead.
  • Ask everyone in your team to send one message to someone in their network that could be qualified for the job or possibly knows someone else who is.
  • If you find all this to be too cumbersome, consider working with a freelancer specialized in sourcing to help you out with this step. It’ll pay off in the long run.

📣 Ready to chat with your candidates? We’ve got all the essential interview questions templates for these roles and more:

Software Engineer interview questions

Full Stack Developer interview questions

DevOps Engineer interview questions

Front-End Developer interview questions

<div id="Promote-the-job">Promote the job</div>

As you source talent, you’ll want to widen your net and promote your job post in a variety of spaces as well. Explore the recommendations in the sourcing section above and make sure you and your team are advertising the job through social media platforms, relevant Subreddits and niche job boards.

When choosing job boards, ask your Engineers which make the most sense for your company. Here are just a few job board examples specializing in tech that we like:

And here are a handful of job boards specifically for startups:

The types of Software Engineers that will be actively searching for jobs through these channels are more likely to be in Junior or Mid-Level roles because, as we mentioned before, Senior Engineers typically find jobs through their network or recruiters. That said, job posts can always be forwarded to someone, so no matter what the level of the role is, do your best to get the word out and to share in various places.

📣 Discover the 10 best recruiting software for small businesses

<div id="Hire-with-speed">Hire with speed</div>

Between 2019 and 2022, there has been a 22% increase in demand for Software Engineers and Developers. In this market, they will most likely receive multiple job offers, so if you find someone you’d like to hire, you have to be prepared to make your own offer quickly!

In your conversations, find out what your candidates’ ideal work situation is and if you can meet all or most of their needs. Help them to understand what you bring to the table as a company and how this is going to be a fruitful partnership for you both.

Having a solid hiring process in place and a hiring team whose goals and expectations are aligned will help you hire with certainty and speed. You’ll need sourcing skills, a captivating career page and job post, and it should be super easy for candidates to apply and/or get in touch with you.

If you have all your ducks in a row, then you’re good to go. It’s time to get started and find your next Software Engineer!

Ready to hire like a pro?

With Homerun you can stand out to talent and streamline your hiring process in just a few clicks.

Start free trial

Hiring a Software Engineer FAQs

How long does it take to hire a Software Engineer?

On average, it takes about 4-6 weeks to hire a Software Engineer. This includes time for sourcing, contacting, interviewing, vetting, providing an assessment (if needed), making an offer and getting a contract signed. It’s important to take your time to find the right fit for your team, but just be aware that you shouldn’t take *too* much time. The tech job market is very fast-paced and while you’re mulling over your decision, someone may scoop up the candidate you’re interested in. Ideally you’ll be able to make your hiring decision quickly and avoid missing out on a great new team member.

How much does a Software Engineer make?

Salary ranges will vary based on the Software Engineering position, the person’s experience and location. According to Indeed and Salary.com, the estimated average salary of a Software Engineer in the U.S. is around $122,000. The average salary for Software Engineers in Europe varies widely by country, with the highest salaries (comparable to those in the U.S.) for Senior Engineers in Copenhagen, London and Zurich. It’s important to note that with the shift to global hiring, salaries for remote positions have gone up worldwide. According to a study from We Work Remotely, remote Software Engineers earn a global average of $70,877 per year. However, as noted before, location and experience play a large role in determining if a Software Engineer will make more or less than this average.

How much does it cost to hire a Software Engineer?

If you’re using a recruiter to hire a Software Engineer, you should expect to pay, on average, 20-25% of the new hire’s initial compensation. So if the average salary of a Software Engineer is $122,000, you would pay $24,400–$30,500 in recruiter fees. This figure can increase if hiring for a niche position. It is possible to recruit and hire a Software Engineer on your own for free using an all-in-one hiring tool like Homerun. It’s easy to use and packed with thoughtful features that help businesses streamline hiring, stand out to talent and create a positive candidate experience. Try Homerun for free.

Is a Software Engineer the same as a Developer?

Many companies use the terms Software Engineer and Software Developer interchangeably, and with good reason. Their skills do overlap and a Software Developer can indeed oversee an entire application’s development. In general, Software Engineers are typically responsible for systems as a whole (designing, development, maintenance, testing and evaluation of software) and Developers often focus on building software and apps and solving problems within the system. The use of these titles has shifted over time and continues to shift, so it’s up to you as a company to decide what you want to call the role and what it’ll entail.

Brook Fischer
about the author
Brook Fischer

With a background in education and journalism, Brook has spent the past 18 years crafting and editing insightful content for small to medium-sized businesses. Her current favorite topics in the hiring space include employer branding and how to create a positive candidate experience. She lives in Toulouse with her husband, two sons and one sweet Staffy.

Read more
15
min read
www.homerun.co/articles/how-to-hire-a-software-engineer
join 1000+ businesses growing with Homerun
Ready to organize
your hiring?