Recruiting and retaining a high calibre team of developers is one of the top recruitment challenges cited by many tech startups and technology-led organisations.
But it doesn’t have to be that way. Here are a few tips that should help you put together a highly productive, cost-efficient, loyal and happy team of software developers.
First things first, you will want to have a good ratio of junior developers to those with several years’ industry experience. This ratio can vary between different organisations depending on a number of factors such as budget, complexity of requirements, specific programming languages/platforms, but generally we advise that the optimal ratio would be 80:20 or 70:30.
Why do you want a mix?
1. Junior developers are relatively easy to find, especially those from universities, part-time courses and/or development boot camps as its likely they will be looking for a new job.
2. Junior developers can be easily trained and are usually more adaptable to new systems and environments. They’re less likely to have developed sloppy habits and could have knowledge of breaking new programming languages that veterans might not be as familiar or comfortable with.
3. Junior developers can bring new ideas to the team that can challenge traditional ways of thinking.
4. Senior developers can act as mentors and share best practices.
From a recruiting standpoint, it’s also easier and less expensive to find and hire budding developers rather than experienced ones. Most of the big players in the tech industry know this – that’s why you’ll usually see Google, Facebook and Microsoft running career events at universities and running graduate training programmes.
But Startups and SMEs should look at how they can engage with junior developers too. If you don’t have the budget to attend careers fairs across the country, think outside the box! Why not host your own event or meetup? Or use popular social media channels to connect with this pool of talent.
Of course we’re biased, but it is probably worthwhile partnering with one or two technology recruitment companies to source candidates and help shape an effective recruitment process for both senior and junior developers. A good recruiter will drastically reduce the time, energy and stress in the recruitment process and will only charge you if you hire one of their candidates!
Why You Should Adjust Recruitment Criteria and Team Culture
Of course, the recruitment process and your criteria should be adjusted depending on how experienced the candidate is.
What you should look for when recruiting Senior Developers?
- Obviously, strong technical skills are required. System architecture and design skills may also important, although this depends on your specific needs.
- Interpersonal skills are also particularly important for these hires as you will want the senior developers to be able to guide the junior developers and communicate complex concepts clearly to a wide variety of peers and stakeholders.
- Have other developers involved in the recruitment process. This should help you attract senior developers and helps to ensure the team remains cohesive.
- This person doesn’t need to have management or team leadership experience. Some of our clients have a separate team lead and senior developer on the same team, with one focusing on interpersonal tasks and the other handling the more technical tasks. The key thing is to find someone with enough experience to coach and mentor the junior developers. This encourages career progression (for both senior and junior developers) and will be a strong selling-point for developers as they are usually attracted to opportunities and teams that will enable them to develop their skills.
- A person that embodies the first two points well is not always easy to find. That’s ok. You don’t need a whole team of strongly technical develops with excellent interpersonal skills, you just need a few. If you find one, compensate them well. If you find someone who would be strong in both skills given additional training, look into how you can provide them with opportunities within the company or external workshops. They’ll appreciate your support and will probably demonstrate more loyalty to the company.
What should you look for when recruiting Junior Developers?
- Interviews need to be more about judging potential, natural aptitudes, and the ability to learn than evaluating existing skills. Of course, these are things you’d want to assess in any interview, but most technical interviews aren’t set up to judge these traits.These are traits that interviews would assess anyways, but most technical interviews aren’t set up that way. Most interviewers may find it difficult to assess such traits, but this is an interviewing skill that can be learned.
- Include your senior developer on the recruiting team. Junior developer candidates will get to meet their potential mentors right away and both sides can ascertain if there is a good fit.
- If you work for a startup or SME, you might not have the same salary and benefits that a large corporation can use to attract candidates so you need to sell them on your vision, impact, team culture, and learning opportunities instead.
- Junior doesn’t mean young. Some of the best developers we have worked with changed careers later in life and demonstrate the same energy and ability to learn as grads.
Create a Cycle To Effectively Upskill Your Team
- Both the team lead and the senior developer should play a key role in training the junior developers. You should work with them to establish specific training plans for every junior developer in the team.
- Establish an environment for constant learning, creativity and collaboration. Including paired programming sessions, code reviews, regular lunchtime discussions that focus on a specific topic, “buddy” programs will result in greater knowledge sharing, benefitting everyone in the team. You should encourage the junior developers to ‘teach’ the others on what they’ve learnt. Even if they aren’t the expert of that domain, the task in itself will in itself accelerate their learning.
- Establish a company culture to match the work environment. The culture should be supportive, open-minded, cohesive and willing to take risks. Creating such a culture takes time and has to start with the founders and leadership team.
- Give junior developers autonomy over aspects of the codebase whilst getting support on their system design and code. Don’t throw junior developers into the deep-end with new features all on their own. Arrange regular check-ins and code reviews to guide them along the way.
- Training doesn’t have to only be technical. If a junior developer aspires to be a manager one day, offer leadership opportunities and training. And if not, make sure your organization has a technical career path.
With the right environment, training and mentorship, these junior developers will eventually become senior developers that can help mentor other new developers and continue driving the cycle of upskilling as your organization grows.
You might also like
Why Finding Superstar Java Developers Is Like Sifting For Gold: Inside the Java Job Market
How To Write A Good Web Developer CV
The Future of Software Development - A Recruiter's View
Thinking about your next move? Click here to check out our latest vacancies in the tech industry, and check out our blog for more career advice and the latest tech industry insights.