developers from the West see no problem with clearly stating their opposition to a topic and listing the reasons why they oppose it—in many ways, this is seen as good, clear communication. This style can sometimes be jarring to Japanese speakers, who generally prefer to avoid anything that could be taken as blunt or confrontational.
This was buried at the end of the essay, but is one of the most important points.
I worked (not as a developer) in a company that was acquired by a Japanese company. Meetings were structured, and debate was kept to a minimum. If there was disagreement (typically framed as a difference of opinion or conflicting goals) there would be an effort to achieve some sort of balance or harmony. If the boundary was not hard, it was possible to push back. Politely.
Also, if Japanese colleagues expressed frustration, or were confrontational, that was a red flag that some hard boundary had been crossed. This was extremely rare, and replies had to be made in a very careful, respectful way.
From what I understand, it’s not so much that all disagreement is to be avoided entirely, but rather that it should be done on an individual level prior to the meeting. So the fundamental difference is that a western company may use the meeting as an opportunity to discuss and debate an issue, whereas that process is done before the meeting in Japanese corporate culture.
Yeah, the concept of "nemawashi" (根回し) is very important there, this idea that all the groundwork and decision making is agreed upon before the meeting happens.
The term literally comes from the concept of "preparing the roots", that is, the process of softening the ground and trimming around the roots of a tree (often a bonsai) in preparation for moving it safely.
In Japan and in many East Asian cultures, debate is behind closed doors. And it would have taken months. Meetings are for ceremony.