Back to resources

The Mistake of Rewriting Products

Dev Processes
Personal Growth
Legitimacy
Coaching / Training / Mentorship
Health / Stress / Burn-Out

12 February, 2018

Roopak Majmudar
Roopak Majmudar

Associate Director at Wayfair

Roopak agreed to rewrite an app, because, as a new manager, he wanted to build credibility with his team. He talks about what he learned from this experience.

Problem

I joined Venmo as Manager of the iOS team, and the team really wanted to rewrite the iOS app in Swift. I was wanting to build credibility with the team, so I went to bat for them and convinced Product that we should do the Swift app.

Actions taken

We had a few challenges in rewriting the app. We had to maintain two codebases, there was still pressure from Product to continue releasing new features, and there were bug fixes to make in production. With a small team of six to seven people, it was difficult to manage all of these issues. Around a year into the project, we were working with Apple towards their SiriKit and iMessage extension release that was part of iOS 10. We were at a decision point of whether to use our old codebase or new codebase to build it. The team was sure that they'd get the new app out with Swift and with the extensions in a couple of months, and felt that they were really close to the end. However, I had to go back to the team and say that we couldn't do it. The team was really disappointed and frustrated by this. However, we got the extensions done on our old codebase and got a little bit of PR along with that, working with Apple. While the team was frustrated, they did come to recognize that there was no way the new app would have been ready, as the release of the new Swift app didn't happen until six months after.

Lessons learned

Rewrites are really difficult projects, and where possible you should instead make incremental changes. What we thought would take three to six months of development ended up taking about two years. It took too long and it caused enough frustration with various team members that by the end of it, there was only one engineer from the original team left. There's a quote "You do one rewrite in your career and then never again." This was it, this was my rewrite. I agreed to do this project as I really wanted to support the team, but it was a terrible decision. I also learned that you have to go back on your own decisions sometimes. It was tough to deliver the message to the team that we wouldn't be using the new app for the Apple extension release, but it resulted in a much better outcome.

Discover Plato

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


Related stories

Assessing the Performance of Your Team

20 August

Parallels between Work and Sport.

Goal Setting
Different Skillsets
Coaching / Training / Mentorship
Performance
Ron Pragides

Ron Pragides

SVP Engineering at Trustly Group AB

Leaving Room to Say Things Suck — Leadership Lessons from “Ted Lasso”

17 August

A major sign of trust, comfortability, and vulnerability is for someone you lead to be able to say something sucks.

Building A Team
Company Culture
Leadership
Coaching / Training / Mentorship
John Hartley

John Hartley

Senior Engineering Manager at Curology

How to Maintain Happiness: The Underrated Aspect of Creating Team Dynamic

2 August

Jonathan Ducharme, Engineering Manager at AlleyCorp Nord, encourages the importance of a workplace environment that cultivates mental wellness.

Personal Growth
Company Culture
Leadership
Internal Communication
Psychological Safety
Jonathan Ducharme

Jonathan Ducharme

Engineering Manager at AlleyCorp Nord

How to Enter QA With a Non-Technical Degree

2 August

Lewis Prescott, QA Lead at Cera Care, explains his journey from a degree in psychology to learning test automation and computer programming.

Handling Promotion
Personal Growth
Coaching / Training / Mentorship
Career Path
Lewis Prescott

Lewis Prescott

QA Lead at CeraCare

Building Up Your Technical Skills in a Fast-Paced Industry

8 July

Otavio Santana, Distinguished Software Engineer at Zup Innovation, shares his best practices for upskilling without stretching yourself too thin.

Different Skillsets
Personal Growth
Prioritization
Otavio Santana

Otavio Santana

Java champion, software engineer, architect, and open-source Contributor at Independent Technical Advisor