Everyone building software must become a system-system thinker. A system-system thinker is someone who understands that the system they are building is part of a larger whole of other systems. The software we build is part of a more significant system that extends beyond the computer screen and network packets. Despite what many say, software does have a physical manifestation in the forms of the computers it runs on and the people who make and use it. The internet and the world-wide-web are mappable and have a physical form. All Software runs on hardware and hardware exists in the real world maintained by people.
The most critical computer system in the world is undoubtedly the internet. It’s the only computer system that has grown to the scale of trillions of components. All the atoms of the internet have been replaced, and it has never been shut down. This is no small accomplishment and is a result of the great design of TCP/IP and the protocol stack.
The reason the internet was able to scale so successfully was that its design is excellent. It scales because it was designed like another system that has a vast scale called the ecosystem.
The term “Ecosystem” is an interesting concept in itself because it was inspired by the electrical view of the brain proposed by Sigmund Freud. One night, the ecologist who promoted the concept of an ecosystem called Arthur Tansely, had a dream where he shot his wife. This dream disturbed him so much he read the works of Freud. He read how the brain is an electrical system of flowing energy, and he thought that nature must work the same way. Instead of electricity, nature has flows of minerals and energy. In other words, our view of nature is inspired by the technological developments at the time. Our view of nature is also that of a stable system that can adjust to shocks. As we shall see, it appears this view is wrong.
We have a much bigger systemic problem that will likely impact the computer and software industry in the coming years. We can ignore it in the community, but I want to make it clear, if nothing is done, there won’t be a computer industry or software profession. High technology needs organized human life to develop and function, and it won’t be possible with systemic failure.
That biggest threat to technological systemic failure is global warming. Why is global warming the biggest threat to the computer and software industry? We must first put on our system-system thinking caps on. Now that our caps are on let’s look at the extent of the problem.
The warming is accelerating and the new report by the IPCC on 1.5 degrees explains that we have a short window of 11 years until 2030 to dramatically reduce emissions. I sense that this is a conservative estimate and likely most scientists privately believe we will blow past 1.5 degrees. Global warming is having the most significant impact on the ecosystem.
For those that want to understand if there is already a systemic failure underway in our ecosystem, they should read the reports about the mass extinction happening now. A recent article by the Guardian described the collapse of insects in the Puerto Rican rainforest stating that 98% of insects on the ground had vanished. This is a total collapse of the ecosystem since a collapse of insects means a collapse of any animals relying on them. The scientists have attributed this insect collapse to global warming because the number of extremely hot days has dramatically increased in the rain forest going from almost zero to 40% of the days. The 2018 edition of the Living Planet Report found that 60% of all animals have disappeared since 1970. In other words, in less than 50 years, we have lost most of the wild animals of the world. To understand the extent of how few animals are left, a study published in Proceedings of the National Academy of Sciences found that humans make up 36% of all mammals on the planet. Domesticated mammals make up around 60%. That means only 4% of all mammals are wild.
While the internet has proven to be a robust system, it isn’t disconnected from the larger world. If the total collapse of our ecosystem causes mass social upheaval, the internet will stop functioning. It relies on points of centralization (large organizations) and large scale investment to keep functioning.
We have a choice as technologists to either design systems that could be robust against social collapse or build systems to maintain organized human life. In the past, I worked on the problem by designing robust networking systems. I built Fire★, a P2P computing system, back in 2013 because I believed a technical solution was possible. However, by understanding that our computer systems are connected to much larger systems, I don’t believe in a purely technical solution anymore. Since one of those larger systems, the ecosystem, is decidedly collapsing (not tomorrow, but now), it’s not far fetched to imagine our social systems are likely to follow, since they also rely on the ecosystem. If our social systems collapse, the framework which allows technological progress and development will also collapse.
The future of the computer industry and software profession is in peril. We must acknowledge this as a community and take appropriate actions. We must be system-system thinkers!