The way you communicate great ideas can be as important as the ideas themselves.
Communication is one of the most important skills often found to be lacking in software engineers and other people in technology. This is not at all surprising; when you’re knee deep in computer code your whole life, you don’t spend a lot of time working on your English language skills. Sure, you might be strong in Java, Ruby, Python, C#, PHP, Kotlin, Swift, R, and Go — but communicating with human beings requires plain English. So from the start when you need to express ideas to other people, you forced to use a tool that isn’t your best skill.
Making matters worse is the medium of choice. The same message can carry much different meaning, and get interpreted much differently when it comes across via various channels. Imagine the same text expressed in an email, hollered across a room, sent via text, printed in a letter, appearing in a video chat, told second hand, shown in a PowerPoint presentation, or left as a block comment. Even though the text in each case may be the same, the receiver of the message is likely to have a different response in each instance.
Thus it is essential to be sympathetic to your listeners. You need to understand how they will receive your message. The way it comes across will color the message itself, possibly in an undesirable way.