Ask HN: Can software engineering help combat climate change?

25 points by codingspot ↗ HN
As the effects of climate change continue to worsen, it's essential that we explore all possible solutions. One area where technology is making a significant impact is in software engineering and programming. From energy-efficient systems to smart grid technologies and public awareness campaigns, software engineers are using their skills to combat climate change. By leveraging our technical expertise, we can create a more sustainable future for all. Let's discuss how technology can help mitigate the effects of climate change and what we can do to promote sustainability.

48 comments

[ 3.0 ms ] story [ 88.5 ms ] thread
No.

It's lipstick on a pig, it's a way of feeling important while making no difference. The way you combat climate change is by reducing carbon dioxide output and increasing biomass creation and therefore uptake and sinking. You can't write code that does that.

Adding complexity to everything is what software developers do best, only the most skilled ones manage to reduce complexity, and adding complexity to this situation isn't going to help anyone. Don't stick your fingers in the pie, this one's not for you unless you want to build some different skills.

There's plenty of greenwashing in tech, but I don't think it's hopeless. On an ops call this morning I heard about a team switching to a server type that saves ~40% on power, and their fleet is ~50k instances. Opportunities exist if you have the skills and this is an issue you care about.
But the net effect is usually not less is it? Management will find a new way to spend that money or the team will realize they can now run 40% more instances on the same budget.
Well you could be efficient with your code so it doesn't waste CPU cycles, since CPU cycles == Energy, and if your algorithms use less energy, in all likelihood you'll emit less CO2. Specially if they're widely deployed.
Well we gave developers that job and they failed miserably. We have orders of magnitude more compute and orders of magnitude more bandwidth and things are getting slower. If developers were going to solve that problem they would've done it already.
The best way to save CPU cycles is to not write or deploy that code at all
There are some endeavours I feel that could have an impact, but it's always a clever protocol in combination with the right hardware, like solar-powered mesh-networks or just solar-powered servers with 24h availability due to mirrors on the other side of the planet [0].

[0] https://www.dezeen.com/2022/09/27/solar-protocol-network-exp...

Edit: What I want to say is, that the good that is possible is mostly small tech, not big tech.

Sure, donate an integer percentage of your software engineering salary to organizations directly fighting climate change, or buy capture/removal credits from a reputable source.
stop running servers computing hashes that don't contribute to society? btc cough /s

I used to work for a tech company that used big data to convince large swaths of people to become energy efficient. One of the company metrics was how much energy was saved, accounting for our footprint as well; it was fun and gratifying when we crossed the saved more than 1TWh threshold, which also reduced the need for fossil fuel peaker plants. So these companies do exist, but the tech isn't sexy nor complex/hard/challenging ~ way more of a business and social component to these systems, and tech is only a small tool here.

Said company was acquired by Oracle and still running and doing well!

* https://www.oracle.com/industries/utilities/products/opower-...

* https://www.cnbc.com/2022/07/14/how-opower-sold-to-oracle-ha...

Probably will have better luck turning your heating down
Directly, probably not.

I will try to come up with a few examples anyway, in no particular order:

1. You could write software which improves the efficacy of an organization who is working on climate related problems.

2. Low level optimizations in algorithms could conceivably result in reduced processing resources expended when executed billions or trillions of times (though realistically all that will happen is more stuff will be processed)

3. Stepping away from software engineering specifically and looking toward electrical engineering, you could make sizeable contributions to reducing emissions by working on “green” computing architectures. This one is sort of like 2 in that very small improvements in TDP on CPUs add up substantially. I had a professor who worked on this sort of thing.

All the negative nelsons aside, AI for materials science comes to mind. Better carbon capture, batteries, solar panels. I imagine nuclear reactors require pretty significant control systems. How easy is it to permit all of the power plants we will need? I bet software could help there.
The nuclear industry, in which I work, has a large set of software components for modeling reactors. Engineers who work on these components make nuclear reactors faster to design, simulate them with more accuracy, etc. https://mooseframework.inl.gov is an example.
If you care, just don't waste CPU cycles if possible. Efficient code is green code in the sense that it's more likely not to waste energy.

Things like bitcoin with their proof of work algorithms, are borderline immoral. Just burning through and awful lot of energy for no good reason.

scientists always need software engineering help, because they are too poor to hire someone.
Until last year, the Ethereum network used about as much energy as the Philippines (#33 on this list https://en.wikipedia.org/wiki/List_of_countries_by_electrici...)

Through the coordination of hundreds software engineers over the course of roughly 7 years, they made fundamental changes to the consensus protocol, such that it now falls somewhere at the very end of that list.

Now of course, software engineers also caused the problem in the first place, so make of that what you will

Spent some time with technical friends working in the space, and it's unlikely.

However, Climate Draft [1] spends a lot of effort to find high potential startups with technical hiring challenges.

[1] https://www.climatedraft.org/

Economically-speaking, in the next decade we'll need to deploy a massive amount of electric replacements for fossil-burning things, about a billion machines in total. So heat pumps, electric cars, induction stoves, electric bikes, electric panels on houses, new solar/wind farms, distribution lines, etc. This is the primary way we get emissions reductions at scale. All the manufacturers and contractors making and installing this stuff will need software to support them.

You might ask Saul Griffith (https://twitter.com/GriffithSaul/) for more details. He really has his finger on the pulse of the engineering needed and is one of the main people that got the US IRA climate bill to pass.

What's the current state of free, highly accurate, highly referenced, whole earth models of energy and resource usage aimed at the bright early high schooler and above demographic?

One of the biggest challenges to reaching climate change is to globally educate in a transparent manner, identify the highest per capita contibutor and consumption demographics, promote suggestions for change, identify BS carbon credit trading schemes, identify effective C02 capture and reduction strategies, etc.

If I want to get a neice the best available SimEarth (for reals) what are the current options?

Software Engineering definitely plays a big part. It can be seen as the ways to build the tools to augment the actions, automate processes, and help in building tools to remove CO2e (Carbon Dioxide equivalent).

However, thinking in terms of what IDE settings, configs, etc. and the act of software engineering with regards to Climate Change is too minuscule an impact that it may not have the desired effect.

For instance, in 2018, I help build a functioning aeroponics farm right in the middle of the city and supplied produce to some local eateries to test/experiment on our hypothesis. The entire operation ran on a single Raspberry Pi and the nutrient feed timing and feeding was automated. That is software engineering helping as a tool.

Yes, we can use Software Engineering as one of the key means to our end goal and do have big role to play which can have an outsized return in fighting climate change.

The problem with climate change is the amount you are likely to do will be very small. Go find areas you can contribute to that are both 1) tractable (ie you can actually do something about them) and 2) neglected (so your impact will be much bigger than non-neglected things)

Climate change is neither of those things. You might be able to find a niche aspect of it that is, in which case go for it! Otherwise check coo it the job board at 80000hours.org for jobs that fall under 1 & 2 above: https://jobs.80000hours.org/?refinementList%5Btags_role_type...

(comment deleted)
(comment deleted)
Write efficient code which will use less power to run.
First, define "climate change"
Sure. Zoom has enabled millions of people to work remotely and not commute.
Well, we need efficient code and software more than the hardware. Everything nowadays is instantly slow.
I work in an IoT startup that is upgrading commercial HVAC to support smarter energy management. It's shockingly easy to save 10-20, sometimes up to 50% energy just by scheduling and occupancy-based control. All these huge, empty, cold rooms in the malls and office buildings are wasting a lot. Commercial buildings are contributing up to 40% of all greenhouse emissions, so if we reduce that by 20%, that's already a 8% global win. It is software + hardware though.
> Commercial buildings are contributing up to 40% of all greenhouse emissions

Is this a number you can reliably back?

(The hard 40% part, "up to 40%" includes "only 5%" of course)

At face value it doesn't appear to mesh with, for example:

https://www.epa.gov/ghgemissions/sources-greenhouse-gas-emis...

I'm also always struggling with a correct way to formulate this number. Most reports will cite IEA report which says something like "construction and operation of buildings are responsible for 38% of global emissions" (note "construction"). This number is usually the one you'll see during ESG presentations.
Also "of buildings" not simply "commercial buildings".

Either way, the implication that operation (ie day to day running) of commercial buildings in the US might make up the order of 40% of global C02 emissions seems a stretch.

FWiW I'm all for aggressively cutting back total global greenhouse emissions and have been since the 1970s (I've worked for decades in Energy | Minerals geophysical mapping and exploration and assisted developing world scale GIS mapping systems since the late 1980s (about a decade prior to Google maps IIRC)) and that's going to take some hard to swing lifestyle changes by the larger per capita emmitters, buuut that's also going to take some realistic lining up of priorities and reative emissions.

That aside, good to see changes being made in the commercial running costs domain .. all moves to shift the needle downwards are good.