Sometimes a complete rewrite is the only option.
But this does not mean you keep rewriting the entire codebases to adopt the new fancy language or framework. Rewriting is a big step and hence do it when you know you will get 10x benefits and some signals are
- when making changes to the codebase takes days
- when the team has really low confidence in why and how it works
- when rewrite will give you a massive performance boost
- when there is a lot of dead code lying around due to product evolution
more importantly, you have the necessary engineering bandwidth and product assurance. Because business >> product >> engineering.
enroll in my sys design dec cohort, 33 seats left - arpitbhayani.me/course