Navigating Complexity in Choosing Between Solutions to a Problem

January 13, 2024

Reflecting on my journey at FullStory, I had the incredible opportunity to lead a dynamic team responsible for crafting and maintaining a React component library that played a pivotal role in shaping the UI landscape – 50+ components and used over 20K times.

Our philosophy was simple yet powerful – scrutinize decisions meticulously. The ripple effect of a misstep could lead to substantial tech debt or impact a vast UI terrain. In the face of ambiguity, our guiding question was, "What's the level of effort or complexity to undo this decision?"

If the path was clear, and the decisions were easily reversible, we prioritized speed, ensuring a swift time-to-value with minimal risk. Rapid iteration became our ally.

Conversely, when faced with decisions entailing significant effort to undo, we adopted a more thoughtful approach. Re-evaluating the value, exploring one-off solutions, or proceeding with calculated confidence in the face of necessary risks became our modus operandi.

The lesson learned? It's not just about making the right decisions; it's about understanding the impact and adaptability. Wisdom in tech lies not just in what you build, but in how you build it.


Profile picture

Written by Jordan Carroll frontend software engineer.