What can a software engineer do about climate change?

I spent the first 15 years of my career both keenly aware of the impending climate crisis and feeling that my chosen profession, software engineering, was poorly positioned to really do anything about it. Fairly recently, luck and some leaps of faith have allowed me the chance to engage with climate tech, and my views have changed.

A few software developers, some like myself with backgrounds in AI, have asked me how they should approach moving into climate tech. After writing out replies a few times, I decided to share as a blog post.

Climate is such a fundamentally physical problem. There are gigatonnes of excess CO2 in the atmosphere. We need to both stop putting more up there and possibly also start pulling some of it out. The scale of the problem is staggering. Not just the volumes of CO2 that we are currently emitting, but also the quantities of solar panels, batteries, heat pumps, HVDC lines, and green cement and steel infrastructure that will be needed to stop. This is all hardware— new energy systems, new transportation systems, new agricultural systems— so it might seem like software people don’t have a lot to offer here. That couldn’t be further from the truth.

Every advanced hardware system uses prodigious quantities of software, both during development and operation. For example, it’s obvious that SpaceX’s Falcon 9 uses advanced software to control its launches and spectacular landings. But, it’s less well known that one of the reasons SpaceX has been so successful is their unique, in-house software platform called WarpDrive. This platform controls SpaceX’s hardware development lifecycle from design through flight and allows them to iterate on every version of their vehicles. (Multiple ex-SpaceX software startups are now attempting to bring similar tech to the rest of the industry.) Climate hardware will be similar, be it commercial real estate building automation systems that use HVACs as thermal batteries, to smart electric motor control systems for elevators, chillers, and everything else, to software in appliances of all kinds which can shift demand to the times when the grid is the cleanest, to the enormous quantities of code needed to tackle problems like controlling sustained fusion (potentially involving advanced machine learning)… to seemingly far more mundane— but still critical— consumer-facing mobile apps for heat pumps and grid-connected electric cars. Hardware is dumb without software, and we’re not going to solve climate change without a whole lot of smart hardware.

We also need to learn how to adapt to a changing world, adapting our behaviors and communities, and also supporting the adaptation of the ecosystems that we’re both dependent on and stewards of. This involves water management, new food systems, insurance and risk management systems that price in climate risks, scientific research platforms, and so much more. None of this is going to work without software.

We also cannot solve what we cannot measure or predict. Tackling climate change requires analysis of petabytes of space observation and ground-based data, for refining climate models, attributing carbon sources and sinks, predicting weather events, and tracking deforestation by human activity or fire. We also need modern, easy to use climate models that are open source and maintainable (and not written in Fortran) for predicting climate impacts and assessing potential solutions, be they land use policy changes or on the spectrum of geoengineering.

Climate change is a complex problem that requires input from a wide range of experts, including Earth systems scientists, engineers, policymakers, and social scientists. These people need tools, and funding, to help them work together as effectively as possible. Software platforms can help with both.

The list of ways computer scientists and software hackers can help goes on and on. This means we need your skills on whichever pieces excite you the most. I haven’t mentioned data modeling for scientists (ocean biogeochemists aren’t necessarily known for their algorithm skills), low contrail route planning for airlines, smart grid planning and management systems, research lab automation software, emissions-minimizing supply chain management systems, etc, etc, etc. Think about someone who’s working on a part of the solution and what software they need. Ideally actually ask them. And then jump in when what they describe excites you.

Software is how we control and make sense of the world. Climate requires us to do a lot of both.

More resources:

Some potentially useful communities / Slack groups for finding people who need software to get this done: