Embracing the Power of Starting Over


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 ✌🏽

Frontend Mind

An occasional newsletter where I share thoughts on web development, design, productivity and being a good human.

Read more from Frontend Mind

A couple of weeks ago I had the pleasure of meeting Matthew Syed, author of the Sunday Times No.1 bestseller "Rebel Ideas: The Power of Thinking Differently". Matthew was the guest speaker at our company’s annual kickoff meeting where we were looking back on the successes and failures of 2023 and laid out the plans for the year ahead. During his talk, Matthew spoke about the differences of a fixed mindset vs a growth mindset, innovation, echo chambers, and a little about table tennis 🏓. — A...

Before we get started... You may have noticed that I’ve been a bit quiet on the newsletter for the past couple of weeks. Sometimes life gets in the way and priorities need to be shifted around but hopefully I’ll return to a more regular schedule going forward. I might just switch the newsletter from being ‘weekly’ to a more irregular schedule. — This week I’d like to talk about forming habits, and the 7 steps you can take to make them last. I first came across this idea on an old episode of...

TextFX is an A.I. experiement using Google's PaLM 2 large language model. It's a collection of 10 tools are designed to expand the writing process by generating creative possibilities with text and language. The tool was developed in collaboration with Grammy award-winning rapper, Lupe Fiasco as an experiment to demonstrate how generative language technologies can empower the creativity and workflows of artists and creators. By feeding the app a series of words and concepts, the A.I. can...