It depends on what the reasoning is for the programmer pushback and the designer’s goal. A good reason would be things like technical constraints or the task requiring too much engineering time to complete as requested. A bad reason would be that the engineer just doesn’t want to do it. Most designers are flexible enough to modify a design that isn’t technically feasible. If the designer is recalcitrant, then the engineer should [escalate the conflict to their lead].
Most of the time the design goal isn’t a specific and exact implementation of something, it’s an attempt to craft an experience for the player. When the end goal is as nebulous as an engaging experience, most of the time there are multiple alternative ways to reach the same goal. If a requested implementation won’t work for technical reasons, a savvy designer will usually work with the engineer to find a “90% solution” - a design that is doable within the constraints available and still gets 90% of the original (unfeasible) ask.
Ultimately, it’s important for team members to remember that development is collaborative and not competitive. We’re all members of the team and our success is measured by our overall combined efforts. Pushing back on unfeasible requests is an important part of the development process. Do so through communication and teamwork so that everyone can continue to work toward the mutual goal of shipping the game.
Got a burning question you want answered?