Overview of Sustainable Software Engineering

Completed

This video's content is still valid, but the principle numbers might differ due to the Green Software Foundation's principle renumbering.

Six principles of Sustainable Software Engineering

Six principles of Sustainable Software Engineering form a shared understanding of what it means to be a Sustainable Software Engineer. The subsequent units in this module provide a basic introduction to these principles.

  • Carbon Efficiency: Build applications that are carbon efficient.

  • Electricity Efficiency: Build applications that are energy efficient.

  • Carbon Awareness: Consume electricity with the lowest carbon intensity.

  • Hardware Efficiency: Build applications that are hardware efficient.

  • Measurement: Improve sustainability through measurement.

  • Climate Commitments: Defining the exact mechanism of carbon reduction.

These six principles are independent of the following:

  • Application domain
  • Organization size or type
  • Cloud vendor or self-hosted
  • Programming language or framework

Two philosophies of Sustainable Software Engineering

Alongside the six principles of Sustainable Software Engineering, there are two philosophies.

  • Everyone has a part to play in the climate solution.

    If you're reading this document and identify as a Sustainable Software Engineer, know you're part of a massive global movement of people who care and are taking action. Sustainable Software Engineers work in every discipline across engineering, from designing silicon to designing user experiences.

    Nothing happens in isolation, everything is connected, and small changes lead to significant changes. Normalizing sustainability discussions in technical meetings empowers others to raise their voices. That's how you create change in any organization.

    As Sustainable Software Engineers, we believe that everyone has a part to play in the climate solution. Sustainable Software Engineering is inclusive. Whatever sector, industry, role, or technology, you can always do something to have an impact.

  • Sustainability is enough, all by itself, to justify our work.

    As Sustainable Software Engineers, we recognize many advantages to building sustainable applications. They're almost always cheaper, they're often more performant, and they're often more resilient. But we're primarily practicing Sustainable Software Engineering for sustainability; everything else is an added advantage.