It’s become a popular idea that big companies are evil and we should only be supporting small and local businesses. There’s some truth to it - smaller companies are much more aligned with the incentives of the community whereas larger companies may be managed from thousands of miles away via a spreadsheet. When the only goal is to make more money it’s very likely that morality and honesty will suffer.
At the same time, we should differentiate evil companies from evil actions. Even Walmart has done some good. A story that comes to mind is the reduction in the size of detergent bottles. There was an arms race by detergent manufacturers that were diluting their detergent in order to sell large bottles for the same price. Sure, it cost more to produce the larger bottles, but then they’d be able to generate significantly more sales when people saw that you were offering “twice” the volume at the same price as your competitors. Sure enough competitors followed suit and we ended up with a Prisoner’s Dilemma spiral. It took Walmart, along with a few other large retailers, to reverse the trend and get the manufacturers to start producing bottles in smaller, more concentrated sizes.
And on the other extreme there’s Starbucks. Despite not being a trendy new coffee shop they have the size and resources to launch massive initiatives. One of the recent ones is a way for current employees to get a full cost covered college degree from Arizona State University. Despite this being isolated to a single college and only classes no local coffee shop would be able to make this happen. And the cynic may see this as a marketing ploy but if it’s still able to help more people get a degree I’m all for it.
In both of these cases the benefits came from the size of the company. Larger companies have both the resources and the clout to push change that may not have been possible by smaller company. Instead of dismissing them as permanently broken we should be focused on getting them to use their clout and money for societal gain.