Intermediates and seniors shouldn’t be doing what juniors can do
You don’t need seniors to write code.
There are more valuable things they should be doing with their expertise and experience.
There are so many libraries, so much well-documented information that sometimes even having an
intermediate developer writing code is a waste. Juniors can do this.
When do you need a senior, then?
When there is more complexity, more architectural concerns. When you need to lay the rails, to build the foundation.
You also want seniors to:
in on those conversations to help everybody move in the same direction
A team needs people with different level of abilities
The reality nowadays is that in teams you will have people who:
Not everybody has to be an expert.
Companies need to know how to form hybrid teams made up by juniors, intermediates, seniors, and leaders.
In different organizations there are always people with more experience who are in charge of the ideas,
and people with less, who are in charge of materializing the ideas, for example:
and come up with solutions, the intermediates implement the solutions without too much guidance, and the juniors are given the problem,
the solution, and exact directions on how to implement a small part of the solution.
But many companies are afraid: “But what if I hire a junior, train them, and then they leave?”
That may happen. But you have no other option, those are the rules of the game.
Think of McDonalds. They have a lot of "juniors" who are in charge of customer service and food preparation.
Most of them are teenagers and young adults with little or no experience. McDonalds trains them, they start working, and the business,
as we already know, works very well. If one or more juniors leave, the company does not suffer too much: others come in.
Since they have well-established and proven processes, this replacement does not disrupt the business.
So, yes, employees can leave. That is why nowadays you need to have a clear idea of what you can offer people
so that they choose you every day and decide to stay with you in your company.
Juniors contribute to developing the leadership of senior developers in the making
At school, the teacher explains math problems to their students, such as equations and algorithms, for example.
This person who teaches, not only has to know how to solve the math problem, but also has to know how to explain it at a certain level
so that the students understand it and can do it satisfactorily.
And that is exactly the role of the leader.
The leader is not someone who tells people exactly how to do something and who has to be there with them to make them do it.
The leader has to explain how something has to be done so that people can do it without any help.
In the case of developers it's the same thing. Seniors, if they are going to want to be leaders, even if they don't have formal responsibility,
have to start gaining skills to show that they can be leaders. Nobody is going to promote you to a leadership role when you don't have any skills for it.
Leaders in the making have to be formed beforehand and it is precisely the juniors who make this possible. Just as the teacher must know
how to not only solve the problem but also explain it in such a way that the students can do it by themselves, senior developers must not only know
how to solve the problems, but they must also know how to explain them so that the juniors can implement specific solutions to specific problems
in a very concrete part of a software application.
It is with the juniors that the seniors have the opportunity to develop that ability to explain something, to make them understand what the problem is,
what the solution is and what the correct implementation is, from a position of influence and not of authority. Although they are seniors,
they do not have the authority to be the formal leaders, but they do have the ability to communicate well, to influence positively,
and to teach so that juniors can take that knowledge.
Without juniors, seniors miss out on developing their leadership skills.
A common misconception
Many employers don’t want to hire juniors because they see their lack of experience as a burden. For a recent graduate for whom this
is going to be their first job, there is a lot to be learned about how to be a developer, how to be a member of a work team.
This is true; they need maintenance.
But seniors are not maintenance free; you still have to do work on senior developers.
Everybody requires onboarding, training, and mentorship. Even senior developers want to grow, learn new things,
develop their leadership capabilities, maybe some want to get really deep into tech, platform architecture,
enterprise architecture and step back from technology.
It’s not that accurate to say that junior devs need more mentorship, support or guidance.
They just need a different kind.
To know someone’s true potential, you need to give them a chance.