Developers

Devs, IT Leaders Urged To Embrace Climate-Conscious Coding Practices

green software practices for environmental sustainability

A Salesforce executive is calling on coders to consider climate change when writing their software.

“Even something as seemingly disconnected from the environment, such as building or hosting a website and designing software, can have major climate consequences,” Salesforce EVP and Chief Impact Officer Suzanne DiBianca wrote last week in Forbes.

So far, she explained, the focus has been on reducing energy consumption in data centers and moving electrical grids away from fossil fuels. “Now,” she continued, “coders and designers are ready for a similar push in software, crypto proof of work, and AI compute power.”

While many coders want their handiwork to be kinder to the planet, few know how to do it, she added.

DiBianca cited a Salesforce survey of more than 1,000 technologists in the United States, United Kingdom, and Australia that found 75% of UX designers, software developers, and IT operations managers want software to do less environmental damage. Still, half don’t know how to mitigate environmental harm.

That’s led to more than a third (34%) admitting that they “rarely or never” consider carbon emissions while typing a new line of code, she revealed.

She maintained that convincing management to commit is one of the biggest roadblocks in achieving a sea change in how companies build software. According to the Salesforce survey, 76% of leaders don’t believe sustainable software development is a “must-have.”

“Without commitment at the top,” DiBianca wrote, “technologists are left to adapt in a vacuum without the skills, training or mandate to make a difference.”

Lagging in Sustainability

Making software greener isn’t as well developed as sustainability in other areas of IT, observed Abhijit Sunil, a senior analyst with Forrester Research, a national market research company headquartered in Cambridge, Mass.

“There are a lot of good sustainability metrics that have already been put in place for IT in the data center and workplace, but application development and IT software sustainability has been very hard to achieve for many organizations,” he told TechNewsWorld.

“A lot of the metrics are still evolving and hard to measure,” he said. “For example, how do we measure the carbon footprint of large enterprise applications?”

“We are starting to see industry groups building out best practices and guidelines,” Sunil continued. “One example is the Green Software Foundation, which has been putting out guidelines and best practices, including ways in which we can measure software sustainability.”

“A lot of clients at Forrester have said they’ve looked to the Green Software Foundation as an organization for software sustainability,” he added.

Another organization is SustainableIT.org which earlier this year released the first-ever set of standards that measure the environmental impact of building, running, and managing information technology (IT) operations.

The standards provide metrics and definitions for energy consumption, emissions, waste, and sourcing. The hope is that they will help organizations consistently and accurately gauge IT’s environmental impact, set goals and track progress for improving the sustainability of technology operations.

Greener Code With AI

One way to write greener code is by using artificial intelligence, DiBianca asserted.

Another recent report from Salesforce revealed that the power of AI is underutilized when it comes to green code, she noted. Sixty percent of leaders are not using automation or AI to make the software development cycle more energy efficient.

The problem with AI is that it is one of the least-green forms of computation that there is, countered Dr. Crispin Cowan, a former computer science professor and startup founder and current staff engineer at Tanium, a maker of an endpoint management and security platform, in Kirkland, Wash.

“It is vastly compute-intensive,” he told TechNewsWorld. “AI-driven research may well discover new energy-saving techniques in the future, but for right now, it is going to cause a large increase in IT’s electrical power consumption.”

“It seems likely that AI will have a bigger impact on designing energy-efficient infrastructure than it will on improving code efficiency in a significant way,” added Mike Parkin, senior technical engineer at Vulcan Cyber, maker of a cyber risk management platform, in Tel Aviv, Israel.

“There certainly are ways to make code more efficient, but it needs to be done without losing sight of important factors like security and usability,” he told TechNewsWorld.

Optimize Software With Emissions in Mind

DiBianca also recommended designing software with emissions in mind.

“When building a new product or website, designers are capable of creating better, faster, and more sustainable user experiences,” she wrote. “Designers can choose the most sustainable option as the default choice, making it easy and desirable for users to act sustainability.”

“Even small changes to image size, color, and type options can scale to large impacts,” she explained.

Parkin added that code optimization is an art, balancing efficiency, speed, memory footprint, and other factors to reach design goals.

“There was a time when code was highly optimized, but as compute resources have become more robust, the focus on high efficiency has diminished,” he explained.

“We have gigabytes to work with and use high-level abstract languages,” he continued. “It’s unlikely we’ll see a return to the days of writing in assembler to squeeze the highest performance out of limited resources.”

To use less energy, code should be efficient, added Cowan. “Turn optimization levels up, cut fancy graphics like shadows and animations down, [and] do polling as infrequently as possible,” he recommended.

“Efficient code will just reduce the amount of power consumed by IT,” he continued. “However, that efficiency gain can be magnified a thousandfold or more by using those CPU cycles to find ways to improve business processes.”

“Using a few milliwatts to compute what a truck can save on time, distance, and fuel consumption by changing a route is a huge win in reducing greenhouse gases and carbon footprint,” he said.

Examine Hardware Infrastructure for Green Gains

DiBianca asserted that by equipping technologists with the right tools and partnering them with the right leadership, they can not only drive meaningful efficiencies and cost savings but also bend the emissions curve downward at the speed and scale the planet needs.

Parkin, though, contends that while coding for a greener environment is fascinating, it misses a crucial piece that it needs to work: instrumentation.

“Efficient code will run faster and use less power than sloppy code, which is the one place where coders can have an influence on their energy footprint,” he said, “but if coders don’t have any visibility into how different versions of their code perform from an energy use perspective, there’s not much they can do to make their code energy efficient.”

“And the reality is there are probably bigger and easier gains to be achieved in the hardware infrastructure their code relies on than in optimizing individual function calls to lower their power load,” he continued.

“A few percent gained in, say, improving cooling efficiency in the data center is almost certainly less expensive and more effective than spending hours optimizing code for a half percent gain per transaction,” he concluded.

John P. Mello Jr.

John P. Mello Jr. has been an ECT News Network reporter since 2003. His areas of focus include cybersecurity, IT issues, privacy, e-commerce, social media, artificial intelligence, big data and consumer electronics. He has written and edited for numerous publications, including the Boston Business Journal, the Boston Phoenix, Megapixel.Net and Government Security News. Email John.

1 Comment

  • As far as instrumentation (measuring the energy consumption) is concerned we can start from the statement that execution time and energy consumption are roughly proportional [Energy Efficiency across Programming Languages, Pereira et al., table 4]. With that in mind I would recommend using a good profiler.

    Armed with a good profiler and knowledge of the more efficient programming languages (C, Rust, or C++) software designers can make a huge difference.
    A more efficient (thus energy friendly) application requires less compute time which is quite obvious, but what most people forget is that because of this it effectively frees up the CPU and gives room to other jobs to execute. In total less computers will be necessary to execute the same functionality and therefore the materials carbon footprint will also be reduced which is a very welcome side effect in this mineral-intensive era.

    Finally, buy in from higher management is definitely required to make this transition happen since engineers using the less performant programming languages and technologies are usually more productive.

Leave a Comment

Please sign in to post or reply to a comment. New users create a free account.

More by John P. Mello Jr.
More in Developers

Technewsworld Channels