You seem to be focusing on a situation where there is a proposed solution with an obvious bad outcome, and somehow you are the only one smart enough to realize it will lead to a bad outcome.
In my experience this is very rarely the actual case. Usually there are multiple viewpoints, multiple solutions, and while some may be slightly better than others, the effort of having the debate is much more time and resource-intensive than just accepting one of the solutions.
> the effort of having the debate is much more time and resource-intensive than just accepting one of the solutions.
Man, have you ever seen bad code?
For an example, suppose someone comes up with the idea of making dozens of mini-modules with poorly defined interfaces, each one having no clue about what's going on globally, that should somehow contribute to solving a simple problem. Each interacts with each other through some sort of worm hole where you have only a vague idea what's on the other side.
Another possibility is to look at the requirements as a whole and write a single module that solves the problem in a straightforward way. Now, should one accept the first idea and write 3 or 4 times the amount of hard to code, the code being unmaintainable because the interactions between the many moving parts are very hard to understand? Just because everybody thinks that's how it should be done?
By definition the answer you think best is the answer that all of your skills and all of your experiences guide you to. I’m saying you have an obligation to fight for what you know is the right answer. There is nothing ethical about allowing people to make decisions that you believe will be catastrophic. You are being paid for your expertise — don’t accept money if you are not willing to do what you can to ensure a good outcome.
This has nothing to do with having a debate in a meeting, indeed, often the best strategy is to avoid the meeting altogether.
Yes, agreed but that is what I also wrote, you should prevent catastrophic outcomes. I did not wrote anything what you implied in previous comment. I only implied that there is many technical decisions which are nowhere near to catastrophic.
Like picking tabs vs spaces, I am not going to fight about it, it is not a decision that will make any difference for product.
In my experience this is very rarely the actual case. Usually there are multiple viewpoints, multiple solutions, and while some may be slightly better than others, the effort of having the debate is much more time and resource-intensive than just accepting one of the solutions.