Making a single decision is quite simple and takes a lot of the exhaustion out of making one small decision after another. I'm yet to perfect the art, but I have a general idea of these things. I've written about them quite a few times before.
Although following through on them is scary as fuck. Early on it's quite easy once the decision is made, but about seven months to a year in, you start questioning all sorts of things. Things that never crossed your worried mind before. Am I at the right location? Am I too late already? Will this jeopardize my current and future relationships? What if this is the wrong decision? All sorts of worries. Granted, these also come during the quiet times, when things are kinda slow. Luckily, unlike the single decision, the worries/doubts don't last too long. They come in waves for a few days and then just like that they are gone. It helps to ask others, and for me at least, the decision becomes quite clear when I hear their answers and reasons. Rubber duck debugging works for real life things too. Honestly, nothing has changed my life more than the decision to learn and then get better at programming.
Performance gains
Today I did something fun. I had to hand roll all of it, but I managed to bring the response time of an API from 2.01
seconds to 130
milliseconds on our dev environment. Granted, the first approach was written in a hurry when I was migrating the entire server from Strapi to Go. I made a terrible assumption regarding transactions in the database. I assumed that because with transactions either all or nothing happens, the queries were within the same connection. Terrible assumption to make. To my mind it seemed quite logical. Anyway, I managed to undo that assumption. It took a lot more work, but I managed to get it done. It was such a satisfying feeling too. Adding timing logs to the requests was the single best decision. Every week when I have some down time, I go through the logs, filter by slowest, and try to make it faster. There are a lot of quick wins left on the table as I haven't gone through the API after the big migration. The goal is that after all the slow and very slow requests are handled, I can then cache the ones that don't change. Making things blazingly fast. This is so much fun.