The Fall of Civilizations and Software
I've been spending lots of time sitting outside at night and mostly staring into a firepit while listening to podcasts. This has proven to be relaxing for me since there's not much else to do during the pandemic.
I've really been enjoying the Fall of Civilizations Podcast :
One thing I've been trying to pay attention to is how historical subjects can be applied to modern open source communities. For example a year ago if you would have asked me what caused the Bronze Age collapse I'd have defaulted to "Easy, it was the sea people". Easter Island? Everyone knows they just chopped all their own trees down right?
As I've delved into each of these subjects in more detail it's becoming much more interesting to understand the nuances of why civilizations collapse. Usually there's not one single event that "just ends it", there are a myriad of factors to the fall of each one. Some are common across the board, famine sucks no matter where on when you live on the earth. Some are unique to each of the civilizations. I've tried to apply the main themes of these episodes into something that might apply to what we work on every day.
I'm not going to go over each point since that's an exercise for the listener to make and apply to their own perception of what they're working on, but the main tenet I have learned is that ecosystems are fragile, even when they're robust. Many of these civilizations had problems which were fixable. However a combination of problems with bad timing can lead to utter ruin. Especially so when there's something competing with you waiting to pounce when you're weakest.
This is what I think about when I think about technical debt in our projects.
We can mostly handle our software being complex. We can mostly handle not having enough people. We can mostly handle lack of resources. We can mostly handle our tech debt. And so on. But a combination of challenges has proven to be lethal to communities that in some cases had been successful for hundreds or thousands of years. This is a long about way to say that sustainability of your project is probably the most important investment we can make.
This isn't meant to be doom and gloom, afterall, many of these civilizations were replaced by others over time, and generally speaking we've advanced as a species by building on the past. There's been a lot of pain and suffering along the way, I found that part to be the most interesting. There's always a new ecosystem to fill in the niches of the failures of the past.
You probably thought I was going to make an analogy on how your big huge monolith at work is like having all this effort being put into the Pyramids when you really should be concentrating on the basics. Can't help you with that one, but I think I'm getting there, heh.