Sustainable software engineering (SSE) is the practice of minimising the environmental impact of software. It is an emerging discipline that integrates sustainability into software practices and architecture, hardware, and data centre design. The ultimate goal of SSE is to reduce the amount of carbon emissions that software applications are responsible for by integrating various approaches to the software development lifecycle. Commonly, SSE is implemented by utilising more efficient or ‘green’ coding practices, but there are a variety of approaches available to organisations and developers alike.
In our recent report titled “Who’s integrating sustainable software engineering principles?”, which was based on data collected from the 24th edition of our Developer Nation survey, we discovered that 76% of developers sometimes or always implement at least one SSE principle and that this rises to 82% amongst professional developers. In this blog post, we take a closer look at how developers’ roles, decision-making power and involvement in DevOps activities influence their utilisation of SSE principles.
Involvement in DevOps* is a powerful predictor of utilising SSE principles in development projects. These developers are responsible for implementing SSE principles, which takes place at an infrastructural level. This said, as we will soon see, developers higher up the chain of command report using SSE principles more often than DevOps practitioners, with decision-makers being the most likely to adopt such approaches. This demonstrates that whilst decision-makers provide the impetus for adoption, it’s those in DevOps roles who undertake the implementation.
Developers involved in DevOps are considerably more likely to utilise SSE than those not involved
Indeed, we see that developers involved in DevOps are much more likely to utilise SSE approaches in some capacity than those not involved. The changes in overall SSE utilisation amongst developers doing different DevOps activities, such as continuous integration or automated testing, are not meaningfully different. However, when taking a more granular look at precisely which SSE principles are implemented by developers involved in different DevOps sub-disciplines, we see that it’s those who programmatically provision and manage infrastructure and those who monitor performance and test for security vulnerabilities who implement the widest variety of SSE principles. Developers involved in these stages of the DevOps lifecycle appear to be particularly well-placed to have maximum impact, and vendors should ensure that any SSE tools and products integrate well with these parts of the DevOps technology stack.
- In our Developer Nation surveys, we don’t ask developers to self-identify as being involved in DevOps. Rather, we determine their involvement by asking them whether or not they undertake different DevOps-related activities, such as using CI/CD or creating automated tests.
Note: The Developer Nation survey is now live. You can respond and help us better understand developers and produce insights that help you address developers’ needs.
Our data also show that the more involved developers become in tool purchasing decisions, the more likely they are to integrate SSE principles into their development projects. The reason behind this is twofold:
- SSE is a relatively new discipline, and so those who are not currently buying tools or components are less likely to have had the opportunity to integrate tools which facilitate SSE development into their projects.
- More senior developers have a better understanding of the cost-savings and other benefits of adopting SSE principles, and so a larger incentive to integrate such approaches. They also have the power or influence to effect such a change.
Senior decision-makers are the most likely to integrate SSE principles into their development projects
We can see the effect of decision-making seniority reflected in the usage of SSE by developers in different roles. 91% of CIOs / CTOs / IT managers utilise SSE approaches, but 78% of developers in unspecialised programmer roles do as well. Currently, the implementation of SSE principles is of strategic concern, with a high-level implementation rather than taking place closer to the code. It may be that SSE approaches will follow secure coding practises and ‘shift-left’ as developers take more personal responsibility for the sustainability of their code in the future. DevOps practitioners and decision-makers will still need to be involved though – organisational and infrastructural implementation of SSE principles will continue to have a large impact.
For now, though, SSE practices are typically implemented in the domain of specialists such as DevOps practitioners and decision-makers, and we see that developers in these roles are often motivated by environmental concerns and believe they have a part to play in combating climate change. Vendors wishing to encourage the adoption of SSE products and principles may find traction in appealing to the consciences of decision-makers in organisations.
We also find that DevOps engineers and other specialists, as well as CEOs, are most challenged by measuring the impact of integrating SSE into their development projects. As companies cannot manage what they are unable to measure, it is clear that the lack of a metric is a key hurdle in SSE being more broadly adopted. Removing this pain point could also act as a push to drive adoption.
In our Developer Nation survey, we also asked which SSE principles developers are integrating. The list of SSE principles included activities such as creating carbon-efficient software, minimising data transmission, or optimising code. Looking more closely at which principles are being integrated by developers in different roles, we see that those in managerial positions are among the most likely to integrate every SSE principle we asked about in our latest global developer survey. However, given that few developers in leadership positions are responsible for the implementation, many developers who are closer to the code disagree. Programmers, architects, and DevOps engineers all integrate most of the SSE principles we ask about much less often than average. This suggests that there is a disconnect between the SSE principles that leadership wishes to adopt and what is actually implemented.
A closer look at DevOps practitioners reveals a further surprise – as we saw previously, these developers are some of the most likely to integrate SSE principles overall, but they are actually less likely than average to integrate many specific SSE principles. This indicates that DevOps engineers are selective about which principles to integrate.
This isn’t the whole story, though. Other specialists such as embedded developers or network, hardware and site reliability engineers integrate the widest range of SSE principles into their development projects – though the cumulative impact of the small numbers of developers in these niche roles is small, they are highly active in the SSE space and represent a cohort of early adopters with a wide range of involvement in SSE.
In this post, we’ve learnt that SSE remains in the realm of specialists and leadership, and whilst software development tool companies should cater to the needs of developers in these roles, it’s also worth considering how to drive wider adoption of SSE. Should you be interested in learning more, we take a closer look at developers’ motivations and challenges in the report.
For now, SSE sits firmly in the domain of specialist developers and leadership
Did you like this blogpost? Discover more about our research and have your say in the Developer Nation survey.