From a behavioral and psychological perspective (not interested in this thread in an "arguing about whether our estimation is right" perspective lol), I think the halting, difficult, but clearly emerging work of starting to reckon with the climate costs of computing is so incredibly cool and important. Some questions I want research to ask about this include:
How does the relationship a developer has with the computing resources around them change when climate and ecology are brought into the picture? Does this produce unexpected other changes, for instance, I speculate without evidence that it might reframe your interactions with technology to be less abstract. Despite the massive crisis of climate concerns, is there a protective effect from this? Might this make some technology work feel less alienated from the world?
Do folks in software overall tend to show a "bigger is better" bias or mental model? That's a big question, but assuming this does exist, given that climate conscious computing might emphasize more targeted use of resources, would introducing climate conscious computing shift that bias? Might you begin to value smaller and more targeted solutions? Would this have a spillover effect to other areas of work that don't even have the same sustainability concern?
Might there be spillover creativity effects? It's well documented in psychology that creativity can be encouraged by constraints in problem-solving. Creativity in software problem solving is much less understood. Might this be an interesting problem space for investigating creative solutions? I bet it would be
Based on our studies' evidence about eg the high desire developers have for communal affordances in their work, and the high impact sense of belonging has for technology teams on devs' ratings of their own productivity and their teams' effectiveness, I am also willing to bet feeling part of a global movement toward sustainability could be a protective factor for developers who have less agency at work. Climate conscious computing is often framed as a loss to tech but what if it's not in this way
I guess a thing overall I find really fun to think about is "what do we think about when we think about software that's entirely outside of software" and staying only within the world of software and work as if professional employed developers aren't full human beings with families and societies who wake up and go to sleep in this shared world. And there are just so many fields that haven't been brought in enough here, climate research and health and
@grimalkina one small data point to support that hypothesis: working in solar as a SW engineer I did find psychological support in the sense of a meaningful earth-bound mission shared by my colleagues. It also motivated me to start a small company where developers would have not only that shared sustainability mission, but more agency to meet the challenge.

@grimalkina what's so interesting to me about this line of thinking:

UNTIL ~AI~ showed up, the quest for price-performance had shifted to “how much work can we accomplish for as little wattage as possible,” because portable computing has become so central to our lives

But even with AI, this is the long term incentive. Energy is expensive, using less of it is better even from the perspective of corporate sociopathy

Making the constraint more visible gives teams better arguments to target!

@danilo @grimalkina sadly this reminds me of Dan Olson's line in Line Goes Up: "…diminishing returns are still returns, so more would always go to those with the resources to build the bigger rig"

This is not quite as linear a correspondence in non-blockchain use-cases, but in general, if you have a system that spends a watt to make 1¢, a lot of the time, you can spend another watt to make at least, say, 1.0001¢, so the incentives only start to kick in when you hit your TAM ceiling

@grimalkina i think that it is not seen as a loss by most devs i know that maintain stuff.

But they also think that a lot of the maths done on the impact is uh.

How to say that...

Quite bad in methodology.

But goshdarn we have been yelling for more than a decade about power use and how our stuff is wildly inefficient. Just that outside of experts circles, noone listen.

@grimalkina yes. Please more constraints. Lack of constraints is what doom software.
@grimalkina Efficiency of code is one of the central values of computing. It is particularly pressing for LLMs, obviously. But for years we have been encouraging people to write clear, understandable, code even if it is less efficient, with the goal of reducing maintenance costs. Will the shift to climate-conscious engineering change this tradeoff point?
@tdietterich a fantastic framing for some research questions...! You might even think about studying "what developers think efficiency means" in light of x, y, and z concerns to start to get at this. Which concern gets foregrounded will probably change a lot!
@tdietterich love the values framing too.

@grimalkina I wonder if would be interesting to poke at what attracts the software folks who treat resource constraints as a challenge: Stuff like

* https://en.wikipedia.org/wiki/Java_4K_Game_Programming_Contest
* https://www.lexaloffle.com/pico-8.php
* https://en.wikipedia.org/wiki/Demoscene#64K_intro
* https://js1k.com

etc.

Java 4K Game Programming Contest - Wikipedia

@grimalkina “folks in software” is an awful broad brush to be painting with here. If I had to guess I would say that this industry does have that bias, but I think we inherit it from capital, not technology. It is the “bigger is better” of the railroad robber barons, not the homebrew computer club
@grimalkina as others have pointed out already, if you look at what technical things devs do for fun when financial motivations are removed, you see a lot of small things — artificial constraints on executable size, retrocomputing hardware, raspberry pis and adafriot trinkets. Small is fun. Small is human scale.
@glyph yeah that cultural value is exactly what I would imagine would be the source of a particular cognitive bias! I'm just speaking casually here hence the question marks
@glyph here's a less person focused way to frame it that might not activate the same reaction for you? Could define resources many ways but just to pick one "Does long term experience working professionally with large scale software foreground certain priorities around growth in a way that induces people to probabilistically show more cognitive bias in considering growth concerns first or consider the concerns of growth as a core responsibility first and would exposure to x value shift this?"
@glyph aka, I'm never really working from an essentialist model of a person that says "people are like x," I'm always a social-constructivist, but it's a lot to fit into a post 😂

@grimalkina yeah, I hope I didn't come off as essentialist here, so let me take a crack at a more specific mechanism of the social construction

in the vc-backed and big-tech worlds, projects have two general… moods. mood 1 is "we have a runway, it's growth time, burn investor cash or allocated CapEx at maximum velocity to get ANYTHING working, GO GO GO". mood 2 is "oh crap our AWS bill is five million dollars a month, call Corey Quinn and start cost-cutting or we will have to fire everyone"

@grimalkina I have… pretty much never seen a project that was on a self-sustaining, long-term-growth oriented mindset that valued careful construction of a minimal architecture with incentives towards simplicity that could be scaled carefully over time.
@grimalkina this is one reason that I think developers gravitate towards open source infrastructure projects. the "community" serves as a check on hypergrowth pressures even in otherwise hypergrowth environments, it's a management-legible (in the "seeing like a state" sense of "legible") way of articulating a need for sustainability. "community" is the perpetually absent proxy in the negotiation about the need to slow down & simplify
@glyph totally agree. My back of the napkin style take on this overall is the many people experience deep alienation inside of what they feel they are professionally "allowed" to be and do to fit the software developer mold (a multisystems effect of individual, cultural stereotypes, team and system pressures, abstraction of knowledge work and lack of agency) and you can see the "escape" of this as people seek to fulfill psychological needs AND some try to use the power of that back in their work
@glyph whether, why and when developers advocate inside of their own workplaces is another, but highly related, research interest I have!!

@grimalkina anyway my other two thoughts are:

1. I think if we had a functioning carbon regulatory framework and infrastructure costs became punitive faster, if that cost was known in advance, infrastructure budgets would not swing as far to the extreme

2. we are talking as if this is all of "tech" but it's really just consumer-facing companies, there are a ton of b2b software companies who make comfortable margins on reasonable amounts of compute. their growth pressures are elsewhere

@glyph contrasting how people think and what values they foreground in those different industry/business situations is SO understudied imho!! The program with locating all software research on developers inside of "the people I can easily recruit without doing extra work at my big famous tech co...."
@glyph @grimalkina I've been in (2)! at my first job post uni, I was working for a company that sells a SaaS product for running public consultations (e.g. surveying constituents about proposed bus route changes), for govt departments & such.
So we had this biz model worked out where calculated fractions of each customer's subscription price would get spent on customer support for them, IaaS to make it go, and a couple of SaaS things we had to outsource like monitoring. The sustainability story was that our whole infra bill was directly proportional to the number of customers.
(Admittedly I'm talking cash here not energy but, like, we got charged for the price of the electricity eventually.)
@glyph we need a behavioral economist on this research that much is very clear because I always needed them in education too ☺️😄
@glyph haha no I was worried you thought *I* was the essentialist!!! It's like my worst nightmare lol lol lol
@grimalkina

Back when resources lime memory, CPU speed and storage were more constrained, people tried to write as efficiently as possible. As resources became less constrained, more people coded in a style to match the new constraints. Goldfish effect. Unless something constrains programmers, they will "sprawl".

@grimalkina In general, we have the opposite approach. "Bigger" is brute force. It's inelegant. We only do it when we have severe time constraints and can't create something smaller, more efficient.

The vast majority of us like to do things the right way, and that involves minimizing the amount of resources it takes, not only to develop, but for users to run at home.

Unfortunately, as with most things in life, it's the manager class that tends to put on time and financial pressure, pushing us to ignore these concerns and ship the product.

Elegant, efficient code is easier to work with and maintain. But it's more expensive to write, and it doesn't usually result in any increased profits.

(At least, that's been my experience so far)

@LouisIngenthron fair although I don't personally see engineering managers as separate from engineering in the same way that so many folks who describe managers as a "class" do 😄 there are many managers, although I agree in many ways with the systematic incentives you describe, I have also found in my research with them that so many engineering managers are trying very hard to find a path through as much as their teams. I also think it's true there are many unsustainable choices from ICs
@LouisIngenthron for instance when I think about biases towards bigger I'm not thinking just about LOC but about the striving in engineering toward more growth, more scale. In fact many of the arguments about efficiency are specifically about scaling! This isn't to say we can't have multiple competing values. I think engineering does. But it's interesting to ask not just "is this characteristic of the whole population" but also "maybe for the group in this population where THIS happens..."

@grimalkina I think there are two distinct concepts there:

There's the "desire for growth" which is driven largely by the investor-class, who is never satisfied with steady profit.

Then there's the "capacity for growth", which is something that programmers strive for, but mostly just as a defense mechanism, because when something doesn't scale easily, all the bosses see is "broken" rather than "we failed to invest in our future adequately".

@grimalkina That's true, the managers are mostly just making the best of a tough situation.
The shareholders/board/producers make up unreasonable timelines and outrageous projections then the dev-level management is left to figure out how to implement it with inadequate resources.

@grimalkina are you not effectively asking 'how does silicon valley think about this?' When considering large scale software development?

This very small scale tech person ( in the UK) has looked at our carbon footprint - we do cloud - and for us the carbon was in the office commute. By miles. And that data focussed minds. But we are a charity, so pretty receptive group to that sort of change thinking.

@drs1969 sure, any research on this would have to think carefully about who it is studying and what their context is? I don't think that I've prescribed that in this thread. I am not saying "all developers necessarily think this" I am more interested in, "should there be significant portions that do, in what circumstances do we see that magnified and where do we see it changed." Hence "overall" and "tend" and "bias" which is a probabilistic, group level trend not determined destiny
@drs1969 overall yeah, I'd agree that silicon valley (although not sure that's an accurate descriptor when those are merely the HQs of global workforces) sets a lot of normative things in the software world

@grimalkina aye my silicon valley was a placeholder for (largely) US vc funded orgs. We certainly dont have an equivalent here and I don't think the EU does either.

There's a bunch of Net Zero by 20XX out there, and without exactly the thing you are trying to examine, those goals wont be met.

@grimalkina I would be interested in talking to you about this! The relationship between the developer and the hardware has become very eroded by datacenters and cloud. The only compute resource developers see every day is their laptop or workstation. And as a silicon vendor very interested in shifting the conversation to how much CO2 is generated by your application, there is a lot of abstraction & distance between the climate impact and the application - and what developers (and operations teams) can do to quantify and impact the carbon cost of an application.
@dneary @grimalkina The Green Software foundation has an "Ecograder" to help with this very issue. It's like lighthouse for sustainability. It even gives you tips on which areas to improve. 👍