The incredible rate at which technology is developing is clear for all to see. Each week here at WeAreDevelopers, we hear about exciting innovations in the realms of hardware, software, devices, infrastucture, and (of course) AI. Each one presents opportunities and challenges for developers, consumers, regulators and legislators and more besides.
While it might not often feature at the heart of these conversations around technological innovation, the environment faces challenges perhaps more severe than any others. With this in mind, we decided to dive deeper into the topic to see what we, as developers, can do to understand and adjust our impact on the environment each time we use the technology we enjoy, and what impact technology has on the environment in general.
What’s the issue?
We currently contend with escalating challenges related to climate change, with some scientists making grave predictions for the future and damning judgments about the impact of technology on the environment. Estimates suggest the tech industry accounts for 2-3% of all greenhouse gas emissions, with most predictions suggesting this is due to grow significantly as digitalisation continues to take hold of more and more areas of life.
AI is further exacerbating the issue, with the training of AI models leading to the evaporation of massive amounts of water for data center heat rejection, as well as some estimates suggesting the electricity consumed globally by AI will exceed that of Denmark by 2027, and the power required to generate an AI image being similar to that needed to charge a smartphone.
Technology Could Be the Solution
In a strange irony, most research suggests that while technology is an increasing concern, it also offers the most hope when it comes to finding solutions.
Organisations like the Green Software Foundation campaign for standards, tools and best practices when it comes to making sure software is as sustainable as possible.
By adhering to standards such as the ISO 21031, developers can enhance energy efficiency and be strategic in their software deployments. We recommend checking it out to see what else you can learn there.
What Can Developers Do?
Software developers are uniquely positioned to influence the sustainability of technology. Here’s how they can take actionable steps toward more eco-friendly practices:
1. Optimise Code for Efficiency
Efficient coding not only enhances developer productivity but significantly reduces energy consumption. By avoiding unnecessary computations and optimising algorithms, developers can ensure applications run efficiently without wasteful excess.
We know it’s not practical to optimise every single function you write, but it’s certainly worth considering efficiency along the way, because you’re doing good when you do.
2. Focus on Sustainable Software Architecture
Designing with sustainability in mind starts from the architecture phase.
Utilising serverless architectures can optimise processing power, but developers must also consider data transmission implications. The balance between processing, storage, and transmission is crucial in minimising environmental impact.
3. Address Dark Data
Dark data refers to data that is collected yet remains unused, consuming storage resources without delivering value.
Developers should implement strategies to audit and purge unnecessary dark data, thereby optimising data storage and reducing energy usage.
Conclusion
Sustainable software development is far more than a trend. It is an essential practice for the future of our planet. By optimising code, managing resources efficiently, and strategically applying AI, developers can play a key role in mitigating the impacts of climate change.
For those looking to deepen their understanding on how software impacts the environment, you can check out Hendrik Lösch’s talk from the World Congress 2024.