Plato Elevate Winter Summit has been announced (Dec 7th-8th)

🔥

Back to resources

How to Deal With a Junior Engineer Who Is Resolute on Rewriting the Code

Coaching / Training / Mentorship
Juniors

12 January, 2021

Roy Pereira
Roy Pereira

CEO at CalendarHero

Roy Pereira, CEO at Zoom.ai Inc., shares how to deal with a junior engineer who -- for whatever reason -- is resolute on rewriting the code without a more profound understanding of the implications of their proposal.

Problem

It is not uncommon for less experienced engineers to rush on proposing to rewrite the code. As a manager, you will have to put a significant effort into explaining to them the benefits of reusing the existing code and the dangers of rebuilding it from scratch. Whether it is caused by naïveté, the imperative to prove oneself or sheer indolence to understand the old code, managers often face a difficult challenge trying to convince these engineers of rethinking/not rewriting code.

Actions taken

My initial efforts to convince junior engineers to drop their plans was to make them aware of the broader picture. I would often instruct them to learn more about why the code was done the way it was and put themselves into the shoes of an engineer who was writing that code. If the original engineer was still around, then I'd suggest they go and chat with the junior engineer (s). If that's not a possibility then I would have them read documentation to understand why the code was built that way. I would also have them sit with Product and understand where that piece of code would fit into the larger picture of what we are building. They should understand the iterations and fluidity of the process and how the code would fit into that. I would have them figure that all out by themselves because they need to understand the “why” for themselves.

Oftentimes, their intention to do the rewrite stems from the different coding styles they acquired at their previous job. In that case, I would have them carefully read through past product requirements or engineering guidelines. Engineering guidelines should describe the company’s coding style in greater detail -- what and how to code -- and why this is relevant and how it is related to the company’s values and culture.

Also, I would have them be aware of the time it would take to do the rewrite. A common argument to support the rewrite is that it would make things faster. However, I would provide a more comprehensive understanding of time and resources. I would have them look at the sprint and all the tasks they would have to complete on top of doing the rewrite. Failing to do so would cause a more severe slow down as they wouldn’t be able to finish their sprint.

Finally, if none of my efforts to convince them would be successful, I would simply say no. I have never had to go that far, but even hypothetically, that sounds better than succumbing to wasting time and resources on something that isn’t “broken”.

Lessons learned

  • Be aware that junior engineers will often propose the rewrite as a silver bullet solution. While this may sound unreasonable from a manager’s perspective, managers should remember that they were once junior engineers and they themselves have proposed rewrites with the same enthusiasm. Put yourself in their shoes and be more sympathetic but also be clear and strong in your arguments. They don’t have bad intentions; they are proposing it because they are naive and don’t know better. As a matter of fact, your job is to coach them to know better.
  • Less experienced engineers often don’t understand the limited range of their vantage point. They are looking into a tiny sliver of the whole without realizing it. You should help them understand that their view on things often constitutes a limited portion of the whole picture and any actions without a prior effort to grasp the broader perspective would be shortsighted and even detrimental.
  • If they break the code -- which frequently happens -- they would then have to fix it. If they do the rewrite, they would also be responsible for that code and not everyone is willing to take that responsibility. That can deter some people from doing it. Also, if they build it by themselves, they will have to maintain it afterward.
  • Be patient. This is a hard lesson to learn. Wanting to rewrite code is a deeply embedded engineering instinct that engineers need to learn to overcome and some won’t be able to learn it even as senior engineers.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

Preparing Your Team for the Remote Workplace

29 November

Vadim Antonov, Engineering Manager at Meta, dictates how he brought a brand new team into the remote learning process by ramping up onboarding and creating a mentor system.

Alignment
Remote
Internal Communication
Coaching / Training / Mentorship
Data Team
Cross-Functional Collaboration
Vadim Antonov

Vadim Antonov

Engineering Manager at Facebook

How to Strengthen Your Team Pitch

29 November

Vadim Antonov, Engineering Manager at Meta, details his journey to improve his personal hiring process and team pitch.

Alignment
Personal Growth
Hiring
Coaching / Training / Mentorship
Changing Company
Vadim Antonov

Vadim Antonov

Engineering Manager at Facebook

Delegate successfully as a first time manager of Product Managers

24 November

Andrew Tsui, a Product Leader, works to build great teams that are independent, demonstrate mastery of their domain, and fully commit to their purpose.

Scaling Team
Building A Team
Delegate
Coaching / Training / Mentorship
Psychological Safety
Cross-Functional Collaboration
New Manager
Andrew Tsui

Andrew Tsui

Director of Product at Startup

Inviting Juniors to Learn New Skills

23 November

William Bajzek, Director of Engineering at Sapphire Digital, is always keeping his eyes open for ways that he can give his team a chance to learn something new.

Different Skillsets
Juniors
William Bajzek

William Bajzek

Director of Engineering at Sapphire Digital

Overcoming Constraints Through Creative Thinking

23 November

Neelima Annam, Sr Director Information Technology at Outmatch, recalls a time when she had to use non-conventional methods to train her team.

Different Skillsets
Coaching / Training / Mentorship
Neelima Annam

Neelima Annam

Sr. Director Information Technology at Outmatch HCM

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.