For years, our industry has tried, to some extent, to make computing greener. It’s done by encouraging developers to write more energy-efficient software. We have created Green Software initiatives. We’ve embraced FinOps, carbon reporting, server utilisation metrics, and cloud cost optimisation. We schedule workloads around renewable energy availability and proudly switch development environments off overnight.
All of these initiatives risk becoming a form of sustainability theatre. They reduce waste, save money, and make us more conscious of the systems we build, but they don’t fundamentally change the direction we’re travelling, which is towards more and more energy use, more and more need for data centres to power computational loads.
Most of these initiatives amount to saying, “Yes, we can continue expanding, but let’s do it more efficiently”. During periods of high growth, restraint is often interpreted as a lack of ambition. The opportunity cost of not building is visible; the environmental cost of building is distributed and delayed.
And so, the global assumption that endless growth is both desirable and inevitable remains untouched.
Examining the historical context
History suggests that efficiency gains alone rarely deliver the reductions in consumption that we hope for. When a resource becomes cheaper or easier to use, demand often grows to absorb the savings. This pattern has recurred across energy, transport, and technology: efficiency lowers the cost of consumption, which can encourage more consumption. This effect is often called Jevon’s Paradox.
Computing follows a similar path. Hyperscale infrastructure lowers the cost of computation, enabling us to build more systems that rely on it. Cheaper storage encourages us to keep more data. Faster, cheaper AI models enable more use cases and larger workloads. Efficiency matters, but without asking questions about scale and necessity, it can become a way to make expansion easier rather than to reduce our overall impact.
The evidence of this is visible in the continued expansion of data centres, storage requirements, and demand for computation. The scale of that expansion is no longer speculative. The International Energy Agency projects that data centre electricity consumption will grow by roughly 15% per year between 2024 and 2030. This is more than four times faster than the growth in electricity demand from all other sectors combined. Global data centre consumption is on track to roughly double over that period, and in the United States alone, data centres could account for well over 10% of total electricity load growth by the end of the decade. These aren’t fringe estimates; they’re the baseline case. Efficiency gains in hardware and software are already assumed into these projections, and demand still outpaces them.
The evidence of this is visible in the continued expansion of data centres, storage requirements, and demand for computation.
But perhaps we’ve mistaken optimisation for transformation?
A genuine green computing revolution would ask much more difficult questions.
Questions like – what software should never be built? Which AI systems provide so little public benefit that they simply aren’t worth the environmental cost?
Should there be limits to the scale of data centres in regions where water, electricity, or land are already under pressure?
Should software engineers measure success not only by performance and growth, but by restraint? And how do we define restraint?
Instead of asking how to make software consume less energy, perhaps we should ask how society can depend on less computation altogether. Alternatively, perhaps we can investigate how we can build it into systems that already exist?
That might represent a very different kind of computing culture, one that values sufficiency over scale, resilience over growth, and communities over infrastructure. But what form would it take, and where would we start?
Efficiency vs. sufficiency in sustainable computing
Perhaps the missing concept in our approach to green computing is not efficiency, but sufficiency.
Efficiency asks: “How can we achieve the same outcome using fewer resources?”
Sufficiency asks a more pertinent question: “What outcomes do we actually need to achieve?”
This distinction matters because efficiency alone can leave the underlying growth model untouched. We can optimise our systems endlessly while continuing to expand the number of systems we build, the amount of data we retain, and the amount of computation we consume.
A genuinely sustainable computing culture would not only optimise the machines we have. It would also ask whether every system needs to exist, whether every process needs to be automated, and whether every problem benefits from more computation.
This idea has been described as digital sufficiency: designing and using digital technologies within the boundaries of a finite planet, rather than merely making unlimited digital expansion slightly less harmful.
The question then changes from “How do we make computing greener?” to “What role should computing play in a sustainable society?”
Software complexity, abstraction, and the limits of efficient computing
I guess the real elephant in the room is the current software catalogue. If you look at all software now, it’s built on libraries, on libraries of libraries, of almost endless complexity. Reimagining any of that from an efficiency perspective is hard, but not impossible. Every generation of software engineering has reduced the friction of building software. High-level languages, package managers, containers, cloud platforms, serverless computing, Kubernetes, WebAssembly and AI-assisted development all make software easier to produce and easier to deploy. That’s an extraordinary achievement. But reducing friction also makes expansion easier. If we can build ten times as much software for the same effort, we usually do.
And yet we’re only consuming more, making things more complex, and utilising the same tools, same technologies in an additive manner.
We have spent fifty or more years making software easier to build, deploy, scale, and consume. Every layer of abstraction has been a triumph of engineering. But each abstraction has also hidden the physical reality underneath: processors, electricity, water, land, and human labour.
Is the next green computing revolution about inventing better abstractions, or removing unnecessary ones?
Perhaps software engineering has reached a point where our greatest challenge is no longer making software easier to build, but learning when not to build it. The future of sustainable computing may depend less on ever more ingenious abstractions and more on recovering an older engineering virtue: restraint. Not because technology has failed us, but because a finite planet demands that we learn the difference between what is possible and what is necessary.
—
Ref: Digital sufficiency: conceptual considerations for ICTs on a finite planet
Ref: IEA, Energy and AI (2025) and Electricity 2026 — data centre and AI electricity demand projections