How to create a green software culture at your company
In today's climate-conscious world, technology companies have a responsibility to minimise their environmental impact. That includes the environmental impact of the software itself.
It can be easy to look at sustainability tips like building carbon aware products or reducing the size of webpages. But in large companies with complex systems, it can be hard to enact change.
As a green software advocate, I've learned that implementing sustainable practices doesn't require a complete system overhaul—it starts with small, actionable steps that create lasting change.
Education
Start a green software community with a Slack channel
Share interesting articles and promote discussion
Encourage people to do the Linux Foundation’s Green Software course - it’s free and only takes two hours!
Run learning sessions introducing people to green software.
Getting data
It can be difficult to get people to listen and take action without data to visualise the climate impact of software.
Use tools like Climatiq or Cloud Carbon Footprint to track emissions
Use your cloud provider's billing data with carbon calculation tools
Starting small—even basic metrics can drive meaningful change.
Give metrics to visualise the emissions data, such as the equivalent number of kilometres you would have to drive in a gas car to produce the same amount of emissions.
It doesn’t need to be perfect - begin with whatever data you can access and build from there.
Ask other engineers at your company to test out using and finding emissions data. I found after a while I had people coming to me with feature requests for our carbon footprint calculator. One engineer said it had sparked him to look more critically at what his team was doing. He had a specific feature request because he had a hypothesis that something weird was going on in a test environment, and he wanted to be able to prove it!
Creating a green software culture
Creating lasting change requires embedding sustainability into your team's ways of working. Here are some easy approaches to start with:
Low-effort
Include carbon metrics in sprint reviews and operational health meetings
Discuss carbon emission monitoring during retrospectives
Add regular data review tasks to sprint planning
Demonstrate carbon footprint data to team members
Medium-effort
Add carbon footprint impact notes to Jira tickets
Include carbon emissions checks in Incident Response and Enhancement (IRE) tasks
Implement a dashboard using your carbon emissions data for easier monitoring
What next?
Once engineers have become aware of how their software components are having a carbon emissions impact, here are some ways to make sustainable changes.
Choose data centre regions with lower emissions factors
Different regions have varying emissions factors based on their energy grid composition. For example:
Running an AWS t3a.medium instance in us-east-1 for 1000 hours produces 2.931 kg of CO2e.
The same instance in ap-southeast-2 produces 5.34 kg of CO2e.
(Data collected from Climatiq)
Consider these strategies:
Audit and remove unused resources
Migrate resources to regions with lower emissions factors
Factor in regional carbon intensity when planning new deployments
Right-Size Your Compute Workloads
Orchestration tools such as Kubernetes allow you to scale up and down resources rapidly based on demand. However to be used in a sustainable way, they need to be right-sized to the workload.
Too tight a limit and the pod can run out of memory/CPU headroom before a new workload can be spun up.
Too loose a limit, and the workload will be under-utilised, burning energy.
Reviewing your current CPU/memory limits, scaling rules, and dry-start times for your Kubernetes pods tasks.
Code Efficiency Matters
Review and optimise CPU-intensive operations
Eliminate redundant code
Remember that an efficient pod running continuously may be greener than an inefficient lambda running intermittently
Clean Up and Maintain
Regularly decommission unused resources
Implement automated shutdown schedules for non-production environments during non-work hours
Document procedures for manual environment startup during incidents
Consider tools like kube-green for automatic environment management
Data Management
Implement or review data retention policies
Minimise stored data where possible
Optimise API responses to reduce transmitted data
Measuring Success
Track your progress through:
Regular monitoring of carbon emissions
Cost reduction metrics
Resource utilisation improvements
Team engagement with green initiatives
Conclusion
Implementing green software practices is a journey that begins with small steps. By focusing on measurement, culture change, and practical optimisations, any organisation can significantly reduce its carbon footprint while maintaining - or even improving - system performance.
Remember: every optimization counts, and collective small actions lead to significant environmental impact. Start today with whatever resources you have available, and build from there.
Photo by Marvin Meyer on Unsplash