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

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

I was passed for Promotion. What now ?

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.

Changing A Company
Handling Promotion
Feelings Aside
Feedback
Coaching / Training / Mentorship
Fairness
Career Path
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan

The art of Happiness

20 January

Happiness is a choice. Our upbringing and the surroundings have made it conditional. The first step is to get over the hump is self-awareness. Self-awareness is a journey by itself. The ability to identify what we can control, and we can’t is important.

Personal Growth
Career Path
Health / Stress / Burn-Out
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan

Software Development as a Martial Art

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.

Coaching / Training / Mentorship
Sanjin Celeski

Sanjin Celeski

Engineering Manager at Banque Saudi Fransi

High Performance Team in Action

13 October

A high performance team refers to “ a group of goal-focused individuals with specialized expertise and complementary skills who collaborate, innovate and produce consistently superior results.”

Managing Expectations
Building A Team
Company Culture
Feedback
Coaching / Training / Mentorship
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan

Developing an Early Career Program in Technology Organizations

12 October

Why companies should invest in early career programs ?

Building A Team
Hiring
Coaching / Training / Mentorship
Juniors
Career Path
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan