I’ve been going through a pretty big hiring process at work lately, it’s not the first time I’ve had to scale a team up to handle changing business requirements and take more ownership of the company’s platform. When I look at building this sort of team I need to build a mental model in my head of the upcoming work for the team and the realistic complexity of the work. There’s no point in hiring high-end senior engineers if they are going to be working on simple, small fixes, inversely there’s no point in hiring mid-career engineers who won’t have the experience to deal with complex and difficult problems.
This situation generally leads me to start building a team comprised of mid-level developers, I’m a firm believer that an individual can learn anything under the right conditions so I’m confident that a good roster of mid-strength developers can solve the majority of problems faced by most companies. I understand there are conditions where this won’t work and you just need to be smart enough to recognise those situations and change your tactics.
When hiring a mid-level roster I really want to see the desire to learn and improve in my reports. I don’t need to see people studying all the time and working every day, I do need to see people working on building their knowledge and showing an interest in the field. Technology moves too fast for someone to have a fixed mindset. The issue with hiring motivated people with a desire to improve is that they want to go forwards and not “backwards” on work, meaning bug fixes, small style changes or other maintenance work. The best solution I’ve found to solving this problem is 1-2 juniors. The number of juniors of course will depend on the size of your team and the amount of work you can get for them.
How do I find juniors?
The majority of juniors I find are in online developer communities on Discord or Slack. I’m a big believer in community and have spent the last 12 years joining these communities from IRC, Slack, Discord, Hacker News, Indie Hackers etc. I love these communities and really credit parts of my growth as a developer and even as a person to the people I’ve met in these communities. When I’m active in these communities I try to be helpful and offer support to those that need it regardless of our skill differential, my philosophy for this is the classic “don’t ask to ask, just ask” method which is key to creating a learning, psychologically safe community.
Other places you can look for juniors interested in building their careers are: alumni networks, local meetup groups, sports/social clubs. These places all certainly rely on you as a person being involved in these organisations which may also lead to a less diverse team so you should try to account for that and not go back to the same well too often.
Less experienced team members can add a lot of value to your organisation and encourage more senior team members to write better documentation and support the whole group. You need to make sure they are supported and have the ability to grow within your organisation so don’t think it’s just a cheap way to get talent.
Good luck and happy hiring!