August 30, 2023

10 tips for hiring top Software Engineers

It can be a major challenge to hire outstanding Software Engineers (and people with related titles such as Software Developer, Engineering Manager, CTO etc). The most talented Software Engineers are well aware that they are in short supply. Below are 10 tips for hiring “10x” or “rockstar” Software Engineers that will have huge impact for your team. For partnership opportunities with London Tech Network (LTN) to help with your hiring contact

1. Reduce friction in your hiring processes

The best engineers have plenty of options and won’t want to jump through lots of hoops. Document each step a candidate must go through in your current hiring process to evaluate where there is friction. Long and unnecessary job application questions can massively impact the calibre of the candidates applying.

2. Think of it as a sales process

Time kills a deal so don’t leave candidates going through your process waiting for you to get back to them. They may-well be interviewing with your competitor who is moving faster. If you have a clear scoring system that maps to the profiles you created (see step: Create at least one candidate “profile”) you will be able to operate more efficiently and get back to candidates with a decision on the current stage faster.

3. Map out the talent pool

By analysing the talent pool before you start creating job adverts and reaching out to potential candidates, you will know more about who is potentially available and where to find them. Start with gathering some really high-level stats based on the skills you generally look for (e.g. search for the programming language(s), technologies etc you are hiring for on LinkedIn within the location you are searching and get a feel for the number of candidates available – perhaps one of your requirements is narrowing the potential pool more than you expected).

4. Create at least one candidate “profile”

Having candidate “profiles” (e.g. the typical set of skills and experience that a potential new hire may have) can be a good way to visualise the CV/resume of the person you are hiring. It’s best to have multiple potential profiles in mind as you may find that there are distinct types of candidates who may be suitable (e.g. there may be a set who have more domain knowledge and another set who have more of the specific technical skills you’re looking for).  

5. Be realistic & flexible with your job requirements

It’s important to be realistic & flexible with your job requirements to avoid wasting huge amounts of time searching for a “unicorn candidate”. Think carefully about the tradeoffs in skills and experience that you’re willing to accept (e.g. if you’re hiring a backend engineer perhaps you can compromise on their experience with a programming language if they have awesome AWS experience).

6. Don’t just rely on job adverts (use events, communities, referrals, hackathons)

When you place a job advert up you’re likely to find that a lot of people who apply simply don’t meet your expectations or don’t seem to have even read the job description. That’s why you shouldn’t rely on job adverts, particularly if you’re seeking someone at a senior level or someone with a niche skill set/experience. Instead, get creative and use other tactics for your hiring such as finding people at events, within tech communities, getting referrals from existing employees who can recommend a friend, run hackathons etc.  This more organic way of hiring will help you to reach that rockstar engineer who’s enjoying their current role and has no interest in looking at job adverts.

7. Iterate on your hiring process rapidly

Once you’ve set up a hiring process, keep it flexible and adapt each part of the process as you gain new information. Getting feedback from existing employees on the hiring process they went through can be helpful for this but live, real data on things like how many people who view your job adverts apply, how many people who receive a message from your recruiters respond and make it through to interview is something you should be tracking carefully and using to feedback into your process to improve it as you go.

8. Consider working culture fit carefully

Hiring someone with amazing technical skills won’t help your team if that person turns out to be disruptive or isn’t aligned with your company’s values. So, be as careful and strict on alignment with company values as you would be at testing their technical skills.

9. Don’t make assumptions about a potential candidate’s motivations to join

The motivation that someone has to join your company may vary massively and surprise the people involved in your hiring process, such as the HR team. As early on in the process as possible, ask open ended questions about that person’s motivations for their career. For example, some engineers will mainly be considering a move because they want to work with a particular set of technologies, others may put working at a company with a motivating mission as a high priority and some may feel that the potential for promotions is their top priority.

10. Sell them on tech stack, product vision, potential impact… not silly perks

Of course it’s nice to have perks but it’s unlikely to be the thing that sways a potential candidate towards your company and it may come off poorly if not presented in the right way. Silly perks do not equal great company culture and candidates will see through it. Instead, focus on the more meaningful things in your job adverts, outreach and general interactions. Things such as the tech stack, the product vision, the potential impact they could have at the company and learning opportunities.


Andy Milton

(Founder, Software Engineer, LTN Organiser)


Feel free to get in touch for consulting and partnership opportunities to help with your hiring by emailing