If you are reading this, chances are you are either a recruiter doubting about why you should hire a junior dev, or a junior dev looking for a job and thinking "Aha, at last a post that will give me hope!". I feel your pain and I'm here with you.
So, here's the thing. When you are a junior dev, whether recently graduated (from a bootcamp or other), self-taught or reconverted, it is really complicated to get a decent job. I know it first hand. I've been there. And in my case it was even more complicated because I want it all.
I was a junior dev looking for a remote job with flexibility... Gooood luck with that. 🍀
It is hard enough to find a junior dev job, let alone looking for a remote one. Luckily for us, there's Codegram. 🎉🎉🎉
But I'm here to talk about why hiring a junior dev is good. Good for your business, for you as a manager or senior dev and for the poor, desperate junior dev looking for a job.
Let's clarify something. A junior dev is not someone with knowledge in a thousand technologies, proficient in I don't know what and a thousand more requirements working for a very low salary.
That's just an underpaid job.
This 👆👆👆 is NOT a junior job. And yes, this comes from a real junior dev job offer.
By no means I am trying to say that you should only hire junior devs. In fact, that would be a disaster for your company. But hiring junior devs comes with its share of benefits.
The good point about being a junior is that there is so much to learn. So, there is a lot of room for improvement and the learning curve would look something like this.
Although in development there is always so much to learn, the improvement is much more visible when you start as a junior dev, for obvious reasons.
Yes, a senior has more knowledge and sometimes that's all you need in your project. An expert able to get up to speed fast. But sometimes you just need another look at it, a fresh pair of eyes.
Juniors are not that biased (regarding the project, the customer, the company culture or the methodology) so they are able to ask questions or even make proposals that other more senior devs wouldn't, just because it would seem stupid or obvious to them.
Sometimes the solution comes from the simplest of the proposals and that, a junior can do.
Also, some juniors might come from other jobs and have just reconverted. Their experience in other fields can bring light and a different way of thinking to the table that can be very valuable.
Remember that refactoring you've been meaning to do but never had the time to? Or simply you just thought it was boring and you wouldn't learn anything new? Well, your junior dev could use some of that!
Being a junior means that almost everything is new and the most boring task for a senior could be a whole new improvement field for a junior.
Like, e.g. we've taken advantage of summer time and students holidays to reorganize our Graphql resolvers in Empresaula. Sure, after you've done it 50 times it doesn't bring anything that new to the table, but I for sure have learnt a big deal and had to deal with many issues that I wouldn't have faced otherwise.
So, it is a win-win. You get that long-awaited task done and your junior learns a lot!
If your junior is fresh-off-school, then the field is green all over. They do not have any previous experience, bias, etc. That doesn't mean they don't have an opinion, but they have less to compare to, and they are more willing to get guidance and follow procedures, etc.
If your junior has reconverted, it means you have someone in your team who most likely left a stable job, maybe even a well paid job, to become a developer. They were even possibly a senior in another field. That's big. Making such a change is really difficult (I know it first hand). But it also means that this person is able and willing to adapt, to learn and to question themself. So they can not only embrace your company culture, but also bring fresh ideas to the table. That has a big value.
As I said at the beginning of the post, a junior dev post shouldn't hide an underpaid job. I cannot stress this enough: Experience has to be paid.
That's why hiring a junior dev is cheaper. In exchange, and if you want this to be rewarding, you need to invest in them. Mainly in coaching and technical training. Otherwise, you could end up with a junior forever. And nobody wants that. Not you as an employer and for sure not the developer. Every person wants to evolve in their job. Help them do it and you won't be disappointed.
Think of a junior dev as a longtime investment. If you take the time, interest and right approach with your junior dev, you could get yourself a very loyal, very productive employee.
What about the risks? Well, you could argue that you might educate them and they would fly away. Yes, that is a possibility. But so can your senior devs. If this happens, the effects of having a junior vs a senior leaving are way less devastating.
Ultimately, it is up to you to make your employees happy so they want to stay with you. And happiness at work is not foosball, free coffee or casual friday. There's way more to it.
There are many other benefits to bring a junior dev to your team, but the main point of this post is to show that a junior is not only someone without much experience, but someone with a lot of potential. And that is what you should be looking for.
The key to greatness is to look for people's potential and spend time developing it. Peter Drucker.