Tell me about a time you worked well as a part of a team?
Showed initiative
Showed ownership
Situation:
- Before I became a team lead, there was a time when my team took over another team’s product.
- Since we took over, we now had to manage this product’s infrastructure and deployments.
- The previous infrastructure code was maintained by a single engineer.
Problem:
- The problem here was that the previous person hard coded many values and was using his own libraries.
- It was difficult to manage his code.
- Adding new features took a week instead of a day.
- That’s because we had to first understand his code.
- Sometimes, we had to reachout to him to get more context. This cost a lot of labor hours
Solution:
- I proposed to my team that we spend two weeks rewriting his infrastructure code.
- I believe that if we spend two weeks now, it would be easier for us down the road.
- I suggested to my team that we meet in a room everyday and spend 2 hours of uninterrupted time rewriting and re-building his previous code.
- I also had to negotiate with the development team to suspend their releases.
- I told them that they can benefit from this since releasing new features would be faster in the future.
- My team and the development team were on board.
Impact:
- As a result of this effort, we were able to add new features within 2 days.
- The development team was able to have frequent release.
- All this happened because, we got together, refactored the code according to my team’s standards
Lesson:
- From this experience, I have learned that cost of maintaining poorly written code increases with time
- It's better to fix the issue as team early before it becomes much more complicated