Meta about your comment: Major condescending-vibe overall.
> Would you want to hear about that algorithm? Because it's called communication.
First of all, drop the patronizing tone. Second: what are you saying? Developers don't communicate? Don't communicate efficiently or correctly? Specify the thing that is wrong and your proposed solution and then it can be assessed. As it stands your first paragraph is meaningless. For what it's worth I've worked with marketing teams that have communication skills that match a random rock on the street, so this is not a developer issue. That "developers are all geeks and nerds and can't talk to people, and i'm here to fix it" is an old tired routine that needs to be dropped.
> A UX Designer is there not to create the UI but to teach the Developer how to go about creating the UI
You're assuming a random developer is: A) interested in learning UI design, B) needs to learn to design UI, and C) that whoever this random UI person wants or even can teach them. You're building too many assumptions on top of each other.
This kind of comments resembles the thinking process of a person with "product manager" position in a small/medium size company. Deep down (consciously or subconsciously) they don't really respect or see the value of the individual developer, but they see the team more like a bunch of horses going around the mill. They optimize for "the product" and throw around sophists-like pseudo-philosophical thoughts that appeal to like-minded individuals or to their bosses.