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.
7 steps for hiring a Software Engineer
- <a href="#Rethink-your-hiring-process">Rethink your hiring process</a>
- <a href="#Polish-up-your-career-page">Polish up your career page</a>
- <a href="#Put-together-a-compelling-job-post">Put together a compelling job post</a>
- <a href="#Create-a-streamlined-easy-to-fill-out-application-form">Create a streamlined, easy-to-fill-out application form</a>
- <a href="#Source-Software-Engineers-on-your-own">Source Software Engineers on your own</a>
- <a href="#Promote-the-job">Promote the job</a>
- <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 up✨your 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:
<img src="https://assets.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 values – 73% 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.
📣 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.
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 and adding details to make it your own!
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.
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!
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.
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.
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.
💪 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%"> </div></div></div></div>
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.
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!
Hiring a Software Engineer FAQs