Starting from scratch or opportunistic refactoring? This was the question raised recently at foodpanda when we discussed the future of our apps.
When I joined, my colleague told me that they were thinking about rewriting the app from scratch. This immediately sounded alarms in my head because it’s usually a signal that something is very wrong.
Is the project a failure? Definitely not! Actually we have millions of users using the app so something is definitely working even if we would have the worst code base ever!
As soon as I approached the project I noticed that it could be dramatically improved by gradually and constantly refactoring the code in small steps and that the “the app needs to be rewritten” was probably due to the very common NIH syndrome because the original developers of the app are not working in the company anymore and my colleague joined this project only weeks before me.
Here is a video of a recording I did at home of the presentation I did at the company last Thursday: