Embracing the Power of Starting Over
30 September, 2023
Software development is about solving problems. But what if the solution to the problem is only making things worse? This is something I’ve encountered recently.
Over the past few weeks I’ve been working on an update to one of the features of our application. The updates added a lot more complexity to the feature but the core functionality remained unchanged
While developing, code was being added and more and more edge cases were being tackled until we finally ended up with a hugely over-complex feature which solved the problem but performed horribly.
We’d already invested a few weeks and our deadline was fast approaching so a decision had to be made.
—
When we find ourselves facing a recurring problem, it can be tempting to keep pushing forward, driven by our determination and persistence. We convince ourselves that if we just try harder or approach it from a different angle, we will eventually figure it out. However, this mindset can lead us down a path of frustration and exhaustion.
My team and I made the decision to start over. We planned to treat the feature as if it didn’t already exist and thought about what the right solution was if starting from scratch.
This allowed us to get rid of the baggage of the existing code and to eliminate a load of technical debt.
“Vitality shows in not only the ability to persist but the ability to start over.”
— F. Scott Fitzgerald
Starting over is not a sign of weakness; rather, it is a display of wisdom and strength. It takes courage to let go of our preconceived notions and past efforts, and to embark on a new path. By doing so, we give ourselves permission to explore alternative solutions and discover innovative approaches that we may have overlooked before.
It takes persistence to continue climbing the mountain.
It takes courage to climb down and start fresh on a new one.
Ajay ✌🏽