It’s no secret that all companies are mostly looking to hire super-senior developers. Ones that can tackle a large range of tasks with full independence. However, finding those developers is hard, time consuming, and, eventually, might even do more harm than good for the team. Hiring junior developers has many benefits, and is very sustainable. I’ll even argue that if your last 5 hires were all senior developers, it’s as harmful as if the 5 hires were all juniors.
This is the first of 2 posts in the “Seniorless” series. This one will be all about why you should care, and the second is focused on lessons learnt on doing it right.
I joined Wix 8 years ago, on a tech. support part-time student position. I was studying computer science and had a great passion for coding, which I used to make my life as a support agent easier. After around a year and a half I moved to a junior FED position in the group that built our in-house help desk software. When the group needed to scale, for me, it was obvious to hire more students from our technical support department. It was also the only option for us to do it fast and efficiently.
Fast forward to today, the in-house platform became a whole new product Wix is offering, Wix Answers, and I’m leading the front-end group which consists of 17 developers.
Out of the 17, 14 grew up here and it was their first development job. 2 became team leaders. Others are becoming key players in the company. At first, we did internal moves from support to our team and later did 2 cycles of hiring students in their last year or so of school. It was a great success and we’ll keep repeating whenever needed.
In this post I will share my insights about why hiring entry-level moved from being our only choice, to our best choice. I will also try to provide ideas on how to do it right, and mitigate some of the risks that hiring many juniors comes with.
So without further ado, here are my top 5 reasons why you should care:
1. A+ Players
If you’re a hiring manager, you probably know how hard it is to hire the team members that you consider to be an A player. For me, being an A player is much more than technical ability and experience. It’s creativity, varied personal interests, interesting backgrounds, motivation and of course, the potential of being a 10x developer.
Finding an A player that also happens to have significant and relevant experience is hard. Very hard.
Hiring juniors, at the early stage possible makes finding those players much easier, as the pool is much much larger. If you wait for them to acquire the experience you need, you decrease the chance of finding them exponentially as the time goes. Companies have a tendency to keep their A players close, and for a good reason!
2. Growth of Existing Team Members
Teaching others is a highly effective way of learning, and mastering a topic yourself. This has even been backed up by a recent study in Applied Cognitive Psychology.
By bringing new members to the team, and assigning mentors to help onboard and review their work (more on that later!), you grow your experienced members in ways that are hard to achieve otherwise.
This applies not only for leadership skills but for technical skills as well. By having a mentor reviewing the work of a junior, the mentor will learn lessons about his trade that I think are almost impossible to learn otherwise.
When I was part of the technical support department, I looked at R&D with great awe. My motivation and desire to be part of them was so high that even a task of finding spelling errors in comments of a 100K LOC codebase sounded like a dream.
While I definitely am not implying that senior developers lack motivation, I do feel that there is a certain magic to the first few years that is hard to recreate otherwise.
Also, there are many tasks that are gold to juniors, and garbage for seniors. This usually results in juniors doing a better job and paying more attention to some tasks comparing to more experienced team members, because it is still challenging and exciting for them.
Hiring entry-level team members allows for greater diversity. I remember my “Introduction to Computer Science” course had a poor gender diversity — less than 10% females! The class room consisted mostly of people who had previous coding experience, knew how to assemble a computer from scratch when they were 12, and built their first website at 14.
I used to think those are the only people that would become great software engineers. Girl, was I wrong. We’re seeing people from diverse backgrounds, genders and cultures showing interest in computer science, and even rocking it, although they wrote their first “loop” at university. Actually, some of our top team members didn’t write a single line of code before college.
A great example of diversity is that a year ago we welcomed a new entry-level engineer to our team. Beforehand, she was part of the HR team at Wix, working closely with R&D. This is an extreme, but great example of how diversity can do wonders to your team. Yes, they have a lot to learn, but the added-value they bring is priceless.
Hiring new people is a great way to highlight your weak spots and create innovation.
While juniors usually don’t come with significant experience from other companies, they do come with a fresh perspective on things. They come with the ability to highlight weak spots that the industry as a whole suffers from, which can lead to great innovation. You should foster that by encouraging feedback and voicing opinions, even if they are tough to hear.
So What’s Next
Although we all started as juniors, most of us still are concerned with hiring them. I hope that the 5 reasons above helped you highlight the benefits of doing so.
Also, I’m sure that many of these points are not new to you. And that it’s not the benefits that prevent you from hiring juniors — it’s the costs involved.
In the next post, “Seniorless — 4 Tips for Effectively Onboarding Juniors” I share our teams insights and lessons learnt on how to effectively onboard juniors, mentor them, and how to find the best tasks for juniors to start with.
Please share your feedback in the comments section!
Thanks for reading 💛