Yes it is possible. But is it worth it?

Many times in your career as a software developer you will be asked if something is possible.

The answer is almost always yes. But that is rarely the question you are really being asked. The real question is: Is it worth it?

Let me give you one concrete example. I will describe a conversation between me and my partner.

My partner: It is possible to reduce the image size of the images we store in our system? Compacting them during the upload? Or maybe we could use some service to remove it from the disk?

Me, if I were inexperienced: Yes, of course! There is this Scala lib that can do it. We can also migrate our storage to S3 and use cold storage for the images that are not being accessed.

Right there. I just created several hours of work to myself. And now we would need to worry about security of the new system, maybe new cloud bill to pay. Risk of waking up with a 10K bill from AWS. And so on.

Now, what did I really answer?

Me in reality: Yes, it is possible, but why would we do it now? How much is it costing us today? How much would cost us to grow it 10 times?

My partner: Today we have 160Gb and only 3 clients are using over 74G.

I went and checked the cost of disk in Linode (Our cloud storage) and it would cost 100 USD to increase 1T of disk.

Me: It is not worth it. I am not going to do it. With just two customers, we can pay for ten times that amount (Today, we have hundreds of customers).

My partner laughed and we changed subjects.

This conversation could have gone in many directions. If I were inexperienced, or had nothing better to do with my time (like writing this blog, LOL).

This is how I manage to run a side project with hundreds of customer for over 10 years, while having a full time job, family, my open source project and hobbies. I know how to choose my battles.

I love to give example with my own SaaS software because I will deal with the gains and losses of that decision, and if that means that I will have to get 1K USD less a year and have more time to work on the more interesting things so be it.

When working for someone else you not always have all the information to make the best decision. But you should always ask the questions and express exactly how much will something cost. Not only in time but also in infrastructure, money, and so on.

Next time someone asks you if something is possible, remember to ask yourself, β€œIs it worth it?” and go find the answer.

Written on February 28, 2025