I did share my perspective on this in one of these bug threads. For context: I worked on (and managed) engineering teams for many different large scale consumer products for over 20 years at one of those big tech companies (for which people tend to assume all teams have infinite resources). I also spend a lot of time with people who work in the other big tech firms since people do move around a bunch, so that’s where my perspective comes from - others might have different perspectives.
It was always really frustrating to hear people talk about how a company worth $‘x’ billion could possibly not fix ‘y’ pet peeve of theirs, when in reality there are so many pressures on a dev team’s limited resources that you kinda have to see it to believe it.
For example, I used to sift through new bugs every single day (some days we would get 100s of new bugs (some from UI automation, some from crash reports, from external partners, some from end users, some from internal testing, and also from internal execs who had a friend who noticed something off and all of a sudden it was a big problem etc. - often changes from another team, or a platform change would siderail things), and we’d only really have time to scan some of the titles) to help decide which were the most-high priority to fix etc. Our teams were never resourced to fix (or even reproduce) all bugs, and we didn’t actually have dedicated support staff for many of these products even though they were consumer focused products (many teams in these larger companies use a centralized support model not dedicated to any single product). Sometimes we would dedicate milestones completely to quality which would be trying to plow through bugs, refactor the code to be more sustainable, investments that would result in a more stable base etc… (after a big release etc.), but even then, the number of bugs would still go up over time if we tried to fix every glitch.
Zwift is different because the company focuses on one core product (two if you now include the Zwift hub). But for a single product it does have a fairly big support matrix of platforms, and devices, which means they often have to make compromises etc to work across all systems in a similar manner etc. You have no doubt seen how regressions have made their way into the product even in areas that haven’t had any major changes. Likely those regressions were caused by a bug fix in those areas. Bug fixes can also introduce more bugs for example.
The reality is, it is easy to sit on the outside and point to a lot of visual bugs and assume the devs don’t care about the product, or that the culture is not the right one. What would be a lot harder would be for you to sit down with the exact resources Zwift has available, to look at the backlog, and to look at the highest priority bugs in their queue, and prioritize how much effort goes into the hundreds of crashes vs. performance fixes, vs. accessibility changes, vs. visual glitches, vs. localization issues, vs. regressions from recent features etc, and then see how much resourcing you have left to add new features to the product.
Usually teams have to make some form of tradeoff on how much of their time they should work on new features, vs. basics/infrastructure, vs. legacy bugs. What you’re essentially saying they are putting too much time into new features or basics/infrastructure, and should put more of their effort on visual bugs. That might be true, but it’s hard to know without seeing the full picture of what they are working on.