The Power of Collaboration Between Junior and Senior Engineers
9 November, 2021

Frédéric Duperier
Founder at We Are One Sarl
Problem
When growing teams in my company, I’ve struggled to find the right balance between senior and junior software developers. On one hand, when there are too many juniors on a team, it often lacks years of experience and problem-solving skills to develop complicated features and solve bugs. On the other hand, too many seniors on a team and lacks new methods and will often get stuck in their ways. I wanted to build a team that had a successful balance between experience and the newest techniques.
Actions taken
As soon as I began growing teams, I hired a 1:1 ratio of senior and junior developers. My mindset was that senior developers would grow the junior’s technical skillset and the methodologies used at my company. In turn, the juniors would bring their relevantly recent college experience regarding new technologies to the seniors. My thought process was that both sides of the spectrum would benefit from one another as soon as I had this system in place.
Before this system, I learned that many senior developers didn’t enjoy learning from one another, as they had been developing their own methods for years. I found juniors the key to my success because they had small amounts of experience compared to seniors, and my developers didn’t find their help condescending. Engineers are often interested in the most recent technologies and the newest methods of solving problems, which juniors brought to the table.
A major mindset shift needed to occur to create a change that uplifted our company’s learning. I paired a senior and a junior for each project to curve their mindset, and they would work together for a month. Throughout this process, there were successes and failures, many developers enjoyed learning from others, but a few didn’t. Rather than pushing these developers to collaborate with others, I let them thrive in their independence as these types of developers usually enjoyed working on the more challenging problems.
While hiring the juniors, I had multiple interviews to determine if the candidates would align with our company culture. During the first interview, I determined if an applicant had the proper skills and experience. I brought senior developers into the next interviews, which acted more like conversations with a few technical questions. I observed these conversations and decided if this candidate could successfully interact with our current team and bring them learning.
Lessons learned
- There will always be software engineers that want to work independently. You have to let them work in their way and understand their method. I’ve found that these individuals are often some of the most dedicated, technically driven engineers, and they will work on features others don’t want.
- Some of my engineers did not realize that they could teach others. Many juniors were reserved at first, but once pushed, they began to succeed in their teachings. In turn, once a personal connection developed between the senior and junior engineers, both parties were more apt to collaborate and answer each other’s questions.
Discover Plato
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Related stories
26 January
Passing for promotion happens to everyone in their career lifespan. If someone does not had to go through the situation, consider them they are unique and blessed. Managing disappointment and handling situations in professional setting when things don’t pan out, is an important life skill.

Praveen Cheruvu
Senior Software Engineering Manager at Anaplan
19 January
Recruiting and retaining good staff is amongst the top challenges for every business. There is a world where it's not always expensive, doesn't take an age, reduces lead times and actively contributes to the in-situ teams growth.

Alex Shaw
Chief Technology and Product Officer at Hive Learning
10 December
Supporting principles on why being data led (not driven) helps with the story telling.
Vikash Chhaganlal
Head of Engineering at Xero
6 December
There is a life philosophy in Jiu-Jitsu that resonates with me as a software engineer; Jiu-Jitsu is all about solving problems - the ultimate goal is learning.

Sanjin Celeski
Engineering Manager at Banque Saudi Fransi
28 November
The impact you can have with a Growth Mindset' and the factors involved in driving orchestrated change.
Vikash Chhaganlal
Head of Engineering at Xero