I've always heard entrepreneurs talk about how much easier things would have been if they hadn't sacrificed long term considerations for short term gains. But they're glad they did because it paid off even though it sucks right now. Tech debt. Just like normal debt. You take it on to grow fast early, and then when you scale up, you can pay it off.
As I sit here learning the tech side of the business, and thinking about architecture, I've decided I don't want to take that approach. I want to always be thinking about the longer term. What I'm realizing is a hidden benefit. The culture gains. I'm always thinking about future me. About future teammates. I'm thinking about others. Outside of myself. Whereas with short term quick gains it's very selfish. What I need now.
My thinking is this would permeate throughout the team. It sets a tone. If everyone on the team thought with this mindset in the future. If it was ingrained in the DNA. At least I think thats the case, and only if it's made clear that this is the reasoning. That we're doing it for our future selves and future teammates. Lack of self-centredness is one of the keys to flow state according to Mihalyi. This is a very huge plus side that to me is worth the opportunity cost of not taking on short term debt.
That being said, that only works if you know what the long term approach is. Otherwise you're in danger (like I currently am) thinking about imaginary future problems. Analysis paralysis. Which is why the original advice of "move fast and break things" exists. So did I just rediscover the same original advice for the same reasons? That doesn't feel right. I think there is something important with my original thinking.
I think it's less about making the right long term decisions. Since you don't know what those are necessarily. Otherwise it would be a lot easier. I think the important point is the why. The point of taking the time to think of long term solutions is less about the decisions and more that you took that time. You did it for your future self and your future teammates. That is the important point. So I think the way to do this is to take the time but limit the amount of time you take. So setting a maximum and minimum and engraining it in the culture. Introduce a ritualistic element to it.
For example something like:
Every time you think about a problem you need to solve, you scale it up (does this work at 10 million users for example). If you find clear solutions or clear ways to define the problem, you can continue to plan and architect but pick a checkpoint solution before you do. The second the problems become hard to define or there are multiple solutions with no obvious winner, you have 10 minute limit to clarify the problem/eliminate solutions that don't work. After that you return to your last checkpoint solution and build.
The idea being that thinking about long term solutions is worthwhile as long as you're not running in circles. This time would need a name to ensure it's done with the right frame of mind. Time machine time for example. Imagining a future team of 100 working on your feature. They're thanking the gods for the little things you've done that has saved them countless headaches. They have an old fashioned painting of you hung prominently. You're the example they all aspire to. "Look. Look at Syed. Look at all he did for us. The work he put in that saves us everyday. That makes it a pleasure to work on our problems. That is the gold standard. That is what we do for our future teammates, what he did for us."
Ok so that's definitely not reducing self-centredness, so scratch that. So this idea doesn't quite work it looks like. But maybe there's something here. I don't know. As per my own rule, time to shelve this line of thinking and move on.
End of Daily Thot #1
More Daily Thots?
👇
