As Climate Change bares down on us, we as programmers and programmer managers have a moral obligation to decrease the power consumption of our programs. A conservative estimate of 20-30% of species face extinction, 1 billion people face Climate Change displacement. Food shortages and the impacts of extreme events will grow dramatically. The impacts of Climate Change are widely known and will effect every area of our lives. Our world, quality of life, and many people's very lives are at stake. As programmers we have immense power and opportunity to combat these devastating effects.
It's tempting, and often from a short-term business perspective, to optimize for productivity at the expense of everything else but there couldn't be a clearer example of a case where we must push back against the short term and fight for the survival of our world. But optimizing for productivity is often at odds with other goals that bare a moral responsibility, especially in a short-term focused capitalistic society. Even then the long-term profits and possibly our job security will be negatively impacted by the effects of Climate Change.
We can fight it though, especially when it comes to processing in data centers. We can put effort in to improving the efficiency of our programs and constructing them to minimize hardware wakeups and do other power consumption mitigation. In many cases it's not difficult and for largely deployed programs every little bit can make a large difference. We can support data-centers that work to minimize their environmental impact and think twice about using possibly very inefficient PaaS services that may be more convenient but also have devastating effects on our environment due to increased power consumption. We must also think twice about the inherent efficiency of the languages and frameworks we use.
And we can fight it more directly by developing the foundations of our computing systems, like OS kernels, and even higher-level frameworks and libraries that focus on reducing power consumption system wide. This has already been occurring due to mobile devices that require maximum battery life but we can do better still. On our servers we can build utilities and analytics that track power consumption and alert us to abnormal increases. The possibilities are virtually endless and it's our responsibility to discover and implement whatever we can.
As programmers, engineers, project mangers, and technology executives do you want to be part of the problem or part of the solution? Do you want to look back on your life and know that you made a contribution to Climate Change that you could have prevented or instead that you helped reduce it's effects and saved lives and made life better for us all?