Why Programmers Shouldn't Talk Directly to Clients: The Translator Role of Product Managers
Through a series of humorous dialogues, this article explains why developers need product managers to translate vague client demands into clear technical requirements, highlighting communication gaps, role separation, and the importance of a dedicated translator in software projects.
In a recent discussion, a newcomer asked why programmers are not allowed to deal directly with customers and must go through product managers. The following humorous dialogues illustrate the communication gap and the need for a “translator” role.
Answer 1
Client: “Please stir-fry a dish with eggplant and potatoes, add some greens, and keep it light because I have high blood pressure.”
Product Manager: “Stir-fry Di San Xian.”
Answer 2
Client: “I need that feature.”
Developer: “What latency in milliseconds should we aim for?”
Client: “???”.
Developer: “??”.
Client: “What’s your attitude?”
Developer: “I need requirements; without latency I can’t design a solution. Do we need to pass values? Which encryption algorithm? Do you have your own CA?”
Client: “(confused)”.
Answer 3
Client: “I want a QQ‑style tea with monk fruit sweetener, oolong base, three‑point sweetness, fast!”
Product: “Sure, it will be ready in five minutes.”
Developer (to programmer): “Create a branch, speed up the version upgrade.”
Developer: “But didn’t he ask for oolong base and three‑point sweetness?”
Product: “He can’t even taste it.”
Answer 4
Client: “Why is the network down again?!”
Operator: “The OTN ring between stations X and Y broke, causing a single‑ended outage; we are switching data.”
Client: “???”.
Product Manager (on the phone): “A municipal construction cut the line next door; we’re negotiating with them and will restore the connection shortly.”
Client: “Okay, take care of safety.”
Answer 5
Client: “Why isn’t this thing rotating?”
Developer: “Because a recursive lock caused a deadlock, leading to an ANR error.”
Client: “?”.
Product Manager: “We have a protection mechanism that stops the device when components overheat. We can disable it in the next version or raise the temperature threshold.”
Client: “Alright, we’ll follow your plan.”
Product Manager (to developer): “Fix the bug quickly!”
Developer: “But we don’t have that feature.”
Product Manager: “No worries, the client will forget in a week.”
Answer 6
Client: “Why is this page stuck loading?”
Developer: *posts a locked‑table screenshot, says nothing.*
Client: “I need data for a report; the page is unusable.”
Developer: “Hold on.”
Client: “How long? My boss is pressing.”
Developer: “Done.”
Client: “It’s working now, what caused it? Will it happen again?”
Developer: “The table was locked; we’ve resolved it.”
Client: “What table? What lock?”
Conclusion: Programmers excel at code and logic, not at translating vague client demands into technical specifications. A product manager acts as the essential “translator” to bridge the gap between customer expectations and engineering implementation.
macrozheng
Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
