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?
@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 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.
@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