Change Management: Rebuilding from scratch
17 November, 2020
I was brought in to my current company to overhaul the R&D organization. There I identified four layers of problems that I had to address at the same time:
- Technology. Old legacy code was permeated by flawed technology and bad architecture choices.
- People. The team didn’t have the skill set required for the changes that had to be introduced.
- Ineffectiveness of the system. Maintaining and supporting the existing system was difficult and time-consuming.
- No scale or proper redundancy.
The first thing I did was to talk to all developers on the team. It took some time due to their large numbers, but it was worth the effort. I was surprised to learn that though most of them acknowledged the existing problems they didn’t have any clue how to deal with them. They lacked the capability to see what was structurally wrong and how it could be solved; moreover, some were convinced that they were doing things right.
On the upside, I had the backing of management and they trusted me and were willing to provide air cover. I felt confident knowing that they would back up any decision I would make. And the decision I was to make was nothing but easy! I came to the conclusion that we had to rewrite the entire system. That was something I wouldn’t propose in 99.99 percent of cases but this was that one exceptional case that contradicted my routine approach.
I created a plan that was rather risky and had to be implemented in parallel with running the system and supporting product and business requirements.
The first step of the plan was to move day-to-day operations to an outsourced team in Ukraine. I went to Ukraine to select the team and after finding a suitable solution, we started to transfer, phase by phase, the products that we were developing internally to their team. That allowed me to clear the ground on a ‘home terrain’ where we started working on a new platform that I proposed to build.
I brought and hired top talent to help me out. The whole project was risky and I wanted to be surrounded by the people I trusted and who could deliver what was needed. Building new architecture and a new platform required a lot of planning and meetings with Amazon that was helping us migrate workloads to AWS. Finally, we had to roll our sleeves and focus on actual development.
The migration process was successfully completed after two years.
- You have to be surrounded by the people you trust when you are working on risky projects. I brought in my friends who helped me successfully implement a number of high-risk changes. All I did was set up the framework and the people I trusted did all the hard work.
- One of the most important aspects of change management is how one communicates a plan to people who will be affected. You have to clearly explain to people what you are up to, why you are doing it, why that is the right thing to do, and what they would gain from it. When you tell people that you are doing something, they will naturally want to know what is in it for them. In this particular case, for some people training that we provided on how to develop for the cloud was a powerful incentive, but others who were more keen on the old ways were reluctant to accept changes and eventually left. Also, introducing new technologies caused a tectonic power shift and many people were hesitant to accept changes because they felt disenfranchised by them.
- The power balance that was tilted created other problems too. Oftentimes people who were single point of failures felt they had more negotiating power and management would often warn me that we couldn’t risk losing them. I was not particularly happy fulfilling every request they had and was rather willing to take a risk and lose them -- and it paid off.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Anna Min, Director of Engineering and Digital Experience Monitoring at AppDynamics, leaves nothing to chance when narrowing down the competition for a spot on her team.
Director of Engineering at AppDynamics
Suresh Marur, founder of Grow Happily, cultivates his team by putting them through a thorough and intensive regeneration cycle that he calls the parking lot method.
ex VP of Engineering at Smarsh Inc
Suresh Marur, founder of Grow Happily, reminds hiring managers that investing in potential will always pay off handsomely as their new hire flourishes into exactly what was needed all along.
ex VP of Engineering at Smarsh Inc
Ahmed Othman, Engineering Manager at Zalando SE, explains why it is more important to focus on team members' strengths than urging them to improve on their weaknesses.
Engineering Manager at Zalando SE
Shruti Venkatesh, Engineering Manager at Capsule, shares some of the best tips for dealing with tight deadlines in a newly formed team.
Engineering Manager at Capsule
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.