Upper management values – and pays accordingly – people who go beyond that. Learn some finance, learn to mentor others, learn to talk with a customer and understand what they're really after. You'll gain trust and find that you're being pulled into things far earlier in the development pipeline, which often puts you in a place to build better products.
Or, possibly upper management is just clueless to the cost of the bugs that are shipping. But you still probably won't get far if you just say "this is too buggy" and can't show them why they're wrong and you're right about it harming the business. Maybe you can persuade them if you go get some data. Maybe not.
Ultimately, if the kind of software they want doesn't line up with the kind of software you want to build, don't expect to get rewarded for constantly complaining about it. You're probably better off finding a place where you align better in terms of what type of software they want to ship.
>Upper management values – and pays accordingly – people who go beyond that
They love when many do that while they pay accordingly only to the very few in order to entice the others.
You apparently have never been sued for your managers decisions.
Here is how that was for me:
My manager released something I worked on, despite me saying that it would need a few more months of work. Apparently that would have made this unprofitable, so he disregarded my advice and they released it anyways. I joined the company when this project was already a Year late. So it was not surprising that this project was close to costing more than the customer would pay.
Except for a few interns, I was the newest dev in the company, so I didn't push super hard for more work on this project. However I was the most experienced dev on the team, so I should have pushed more.
Or should have at least got it in writing that they decided against my recommendation.
When it eventually crashed and caused a 30 minutes outage I was fired.
Why? Because it was my code that was the problem of course. Never mind the fact that I told them it is not ready and that the error wasn't even code that I WROTE. Some intern wrote that part. I wasn't a lead or manager and had nothing to do with it.
They then tried to sue me for more money then they ever paid me. 30 minutes of factory outage can be very expensive which they of course tried to recuperate out of my bank account.
I was very lucky that I had a good lawyer. Actually I could only afford a very junior lawyer, but he was sick on the day of trial and asked his professor to go instead. I was probably super lucky with that one.
Also, not having agency about how you spend your energy eats away at the soul. That's more subjective, but I'll do a way better job with way less effort if I am a primary decision maker of what work I'm doing instead of an intake machine.
If your code blows up, it will come back to haunt you. Now you get to fix your code, except it involves a bunch of other teams. Maybe that's what you want, but most likely not.
That being said, if you're at said company/have said manager, you should get a new job. I hear the market is hot.
Upper management doesn't go around looking at what individual people are doing. They just see Team X as a whole keeps having problems, so Team X is literally sitting around and doing nothing.
There's no need to talk to people and communicate. Just fire them. There's no other possible reason they're having problems other than lazy engineers not doing anything.