Writing code is only one part of software engineering. The harder part is deciding what should be built, what shouldn't be built and how the result should behave in the real world.
Good software projects don't accept every request. Someone has to protect the project from unnecessary complexity and keep attention on what actually matters.
The easiest client relationship is one where every request gets a yes. The more valuable relationship is one where the engineering team is willing to challenge assumptions when the evidence says something different.
The best software often stops attracting attention. People use it, things work, failures are handled and nobody spends their morning wondering whether the system will cooperate.