How green is your code? Sustainable software developers share their top tips
Software is critical to supporting a green future, but with its carbon footprint rapidly rising, do we need to think greener about the way we code? Below sustainable software developers share their top tips.
From tackling deforestation to reducing carbon emissions, technology - and more specifically, software - is an integral part of combatting climate change.
Over the last few decades, technology has helped us digitise a huge slice of our everyday lives - reducing our reliance on paper and natural resources.
Many of us have switched to homeworking, which in theory lowers the carbon we use to commute to and from our offices.
However, an often-overlooked aspect of software’s green story is its mushrooming carbon footprint.
Currently, digital tech is responsible for 4% of the world’s greenhouse gas emissions – and its energy consumption is climbing by 9% every year.
In 2021, research from Purdue University, Yale University, and the Massachusetts Institute of Technology revealed the environmental impact of video conferencing – scientists estimate that an hour of video calls with the camera switched on can emit up to 1kg of CO2 (the equivalent of half a litre of petrol), two to 12 litres of water and damage the Earth’s surface the size of an iPad Mini.
So, while apps may be reducing our need for a daily (and polluting) commute, software itself is fast becoming a major contributor to our carbon footprint.
In fact, it is predicted that information and communications technology will account for as much as 15% of the total global carbon footprint by 2040. That’s more than half of the worldwide transport sector, to put it into some context.
The core problem lies in the way we develop our software – which is good news because this is something, as software developers and product owners, we can challenge head-on.
We need to think about the way we design, develop, and deploy if we are going to create software that truly supports our future on this planet.
Why should I be investing in sustainable software?
Aside from the obvious benefit of a greener, cleaner future, sustainable software has some clear rewards for product owners and app development companies.
Firstly, sustainable software reduces energy consumption, which in turn can cut down on how much you spend on energy.
Secondly, green software is designed to be as efficient as possible, which can translate into a higher-quality product that is even more fit for its purpose.
And, on top of this, a greener application helps to keep employees and stakeholders happy as a commitment to sustainability becomes more of a priority for both individuals and companies.
How do I develop sustainable software?
The conversation about sustainable software has already begun, with thought leaders sharing their insights into how to develop green software.
We have outlined just a few to get you thinking about how you can become more sustainable in your projects.
Firstly, we spoke with Asim Hussain, Green Cloud Advocate for Microsoft about how we can start to build software that emits less carbon:
“Reducing carbon emissions of software and making software become a part of the climate solution requires three actions: using less physical resources, using less energy and using energy more intelligently. And the scale of the problem is enormous,” Asim tells us.
“It is estimated that there are 26.9 million software developers worldwide, and the number is projected to reach 45 million by 2030. At the same time GitHub, the software development platform, estimates that there are over 73 million developers worldwide, including students and part-time developers.”
Principles of Green Software Engineering.
Asim has created the Principles of Sustainable Green Software Engineering, which is a core set of competencies needed to define, build and run green and sustainable software.
The eight principles are as follows:
- Carbon: Build applications that are carbon efficient.
- Electricity: Build applications that are energy efficient.
- Carbon Intensity: Consume electricity with the lowest carbon intensity.
- Embodied Carbon: Build applications that are hardware efficient.
- Energy Proportionality: Maximize the energy efficiency of hardware.
- Networking: Reduce the amount of data and distance it must travel across the network.
- Demand Shaping: Build carbon-aware applications.
- Measurement & Optimization: Focus on step-by-step optimizations that increase the overall carbon efficiency.
“Considering this global magnitude, it became clear to us that spreading the message of sustainable software—or as we call it, green software—is something that a few companies, however big, are unable to handle on their own. It requires a more concerted global effort,” Asim continues.
“This is why we started the Green Software Foundation. Building green software, and doing it to scale requires the creation of a trusted ecosystem of people, standards, tooling and best practices. The mission of the Green Software Foundation is exactly that.”
Our strategy for sustainable coding.
At DataMix, we’re always looking for new ways we can become more environmentally friendly in our work:
“We always allocate quite a big chunk of time in terms of any major project release to involve our team leads to help optimize, refactor and review the codebase,” Delivery Director, Maksym Osovitnii explains.
“The main target for us is to optimize the number and efficiency of operations, which reduces our electricity consumption and helps us to be more green.”
Meanwhile, as our Technical Director Ruslan Leliushok explains, we use Auto-Scaling when designing infrastructure for our software development projects to consume less power:
“The principle behind Auto-Scaling is to automatically increase server power during high demand/load, to keep the performance at the same level, or to reduce the number of computational resources during times of low demand. In this way, we only use the required amount of processing power at a given time and do not consume more than necessary. It allows our solutions to be more environmentally friendly.”
In addition to this, we have also become ClimateAction.tech participants, which is a group of tech workers advocating climate action in companies, organisations and industries. The group has attracted a global membership of students, graduates, developers and creatives who work in tech across a wide array of industries.
DataMix is a studio with a HQ in Kyiv. Please support Ukraine in its fight for freedom and visit the Ukrainian Government Initiative: https://u24.gov.ua.