On decisions that last

Joao Garin

Joao Garin / August 10, 2024

4 min read

The best things, the best products and experiences last for a long time.

This is something that has been in my head the last couple of months in relation to software and building products and especially around making decisions.

Decision difficulty and the impact of time

When I think about making decisions one of the things that is essential to the equation on how difficult a decision is has to do with how long you will have to live with the repercussions of that decision.

Decision difficulty

if you decide to take on a loan for paying a house or a car, it’s a pretty big decision compared to something a bit more trivial like what you are having for lunch today.

And its a pretty big decision because of how long the implications of those decisions last for (that does not mean its a good or bad decision by itself just contributes or is an indicator of how hard of a decision it actually is).

When you work on a lot of new things, either through working on an agency or a consultant, you typically have to live with your decisions for a somewhat short period of time (maybe that’s 1 year, maybe 2).

And even if you do a project and take a decision in one direction and six months later on a similar project choose something else, they might both be good decisions.

And that’s the main challenge with this type of work for me. In my previous experience of doing a lot of new projects I didn’t feel like I had enough time to live with the decisions I was making. To know, truly know, if that’s a good long term decisions or if its just “fine” because someone else will maintain it, or the client stoped paying for the project or got shut..or whatever that happened that made that project no longer relevant.

Working on software that should live 5, 8, 10, 15 maybe even 20 years and be relevant (and not do major rewrites every 3 years) is a difficult thing, and I think it has been one of the biggest and longest lessons I have learned.

It might seem (and I probably thought similar to this some years ago) like this should come down to “choosing the right framework” but its so much more than that. And even the “right framework” is so much more than "the one at the top of the stack overflow rankings” but that’s maybe a different topic to introduce here.

And yes 100% working on agencies does contribute to another important set of skills that are maybe just as useful, comes down to a matter of preference maybe.

Final thoughts

Which brings me to the main point of me writing this down (for me to read when I feel otherwise) :

Having to live with your decisions for a long time feels very nice, and it’s not only a really interesting challenge but also just a good practice overall.

It ads a layer of responsibility and reliability to the work that I think gets lost when you are always just playing around with the new toy, the new library, the new pattern or language.

It makes you think more about backwards compatibility and ease of adoption (if introducing new paradigms or even libraries in your product or for the team to use) and a whole new set of tools in your tool belt that will be very useful applied in completely different areas such as scope (and accumulating scope sometimes referred to as scope creep).

Subscribe to the newsletter

Get emails from me about web development, tech, and early access to new articles.