Sustainable Software Engineering is a set of principles and methods that ensure minimal direct or indirect negative impact to the environment and in turn to living beings while building and using software.
Here are the eight principles of sustainable software engineering as defined by Microsoft
- Carbon: Build applications that are carbon efficient. Applications that bring maximum value being carbon efficient
- Electricity: Build applications that are energy-efficient. Application that consumes less electricity.
- Carbon Intensity: Consume electricity with the lowest carbon intensity. Clean electricity.
- Embodied Carbon: Build applications that are hardware efficient. Write efficient code, which can extend the expiry date of hardware.
- Energy Proportionality: Maximize the energy efficiency of hardware. Running servers at a high rate of utilization.
- Networking: Reduce the amount of data and distance it must travel across the network.
- Demand Shaping: Build carbon-aware applications. Reducing consumption, reduce the demands. Shape demand to meet supply.
- Optimization: Focus on step-by-step optimizations that increase the overall carbon efficiency
As software engineers, you and me have a significant part to play in the climate solution.
Thank you Microsoft for the clarity and these principles that we can in fact implement in our day-to-day work. I am very happy and excited that the software development community does care for the world we live in.