A dedicated team is the essence of a long-term relationship between a customer and a vendor.
So you are careful about choosing the people who will work for you. You personally interview every candidate. You are willing to accept only the best.
So how do the newbies who barely understand what’s going on fit into your marvel of a team?
Don’t judge them too harshly. Given the right approach, junior developers are an asset to your team and your bottom line. This article will cover the benefits of using rookies on the projects based on the experience of Belitsoft (a custom software company).
When Raphael (the renaissance painter, not the ninja turtle) worked on his masterpieces he had the apprentices do all the tedious stuff that accompanies art: fetch and mix paints, clean the studio and add strokes to the background.
And who are we to judge the genius?
The thing is, this approach works just as well in programming.
You don’t need a ninja/guru/unicorn/whatever dev to make a contact form or change the button color for A/B testing. Yes, they would do the work twice as fast, but it will cost you three times as much just because their hourly rate is so much higher.
On the other hand, the new guys can do it just as well. And while a senior might snub their nose at something so trivial, a rookie will be eager to work on it.
To each his own: while the masters design the architecture and solve the serious problems, juniors will handle the minor stuff. Everyone wins, including your budget.
New and rare skills
It is true that there are a lot of old systems out there. That’s why there are tons of jobs requiring the knowledge of COBOL.
But there are also lots of new technologies emerging and gaining popularity. React, one of the top frontend frameworks, had 12.5 percent of the market within 2 years of its release.
Guess, who has more time and motivation to learn that hot new stuff? Spoiler: not the veteran developer with a wife, two kids, a dog, and a mortgage.
When we were building our in-house React Native team, for example, we welcomed the newbies with open arms. After completing a couple of simple projects under an experienced mentor, they were among the few specialists who knew a demanded and rare technology. We had them—the competitors didn’t.
As your team grows, so does the need for managing it from within. How do you choose the right person for promotion if they are half a world away from you?
You see how they work with juniors.
Mentoring the new guys is a great practice for the developers who want to try their hand at team-leading while helping the project overall. A single rookie is usually enough for the developer (and you) to understand whether they should move on to a job with more administrative duties.
Worst case scenario—they understand they aren’t cut out for a management position. Best case scenario—you’ll have a good team lead and a junior dev who contributes a lot to the project.
Junior developers are way more enthusiastic about overtimes than their more experienced counterparts.
While there is a chance they have a life outside the job, many would take the opportunity to prove themselves in the final push towards the release.
Note that it doesn’t give you a license to work the rookies to the bone. It just means that they really want to show what they’re capable of and are willing to go the extra mile.
Investment in the future
A long-term team will almost inevitably grow and change. New people will come, some will probably go. And when expanding the team it would be great to have more people who already know the inner workings of the project.
Like that intern who was doing minor bug fixing a month ago.
How teaching a junior developer helps your project:
- It improves the loyalty of the developer. They will feel valued and are more likely to stay on the team for a long time.
- It improves their project-specific skills.
- It speeds up their growth. By our estimate, a junior developer that has a mentor becomes a fully productive member of a team about 30% faster than an unsupervised one.
Recently we had a junior QA specialist interning on a logistics project. We and the customer agreed that the new guy would be helping the full-time tester with their tasks and learning on the job. While we paid the rookie, their work cost $0.00/hr to our customer. But we reserved the right to assign him a different work should we need it.
The customer got more work done and we trained a potential star specialist. Everyone was happy.
The arrangement lasted about a month. One day the client just asked us to officially add the junior to the team. Turns out, the newbie proved to be a good communicator and a productive tester. So the customer decided to keep him.
There were other similar cases where the temporary positions turned into permanent assignments.
Fly in the ointment
Why not just fill all the positions in the team with eager and passionate rookies and have an experienced team lead guiding them?
- Juniors ask questions. A lot of them. Which means that more experienced guys have to spend time answering them.
- Juniors need checking. Lack of experience means that the new guys make more mistakes and need to be controlled.
- Juniors might quit. As they are new to the industry, they are still figuring out if it’s their thing. And according to Forbes, people today aren’t afraid of job-hopping to follow their passions.
It is true that in the beginning the junior is more trouble than they’re worth. But if you give them a mentor, assign simple tasks and help them study your project they will become useful and loyal members of your dedicated team.