I do agree with some points that have been made so far. Not with all I see conflations of expectation and assumptions of behaviour but than ... I am not an inch better.
The participants usually decide how to communicate and having a membrane decide what others want or should want usually is some kind of censorship. Questions of values arise too, what is good and in what metric?
What do we measure?
- efficiency?
- expression?
- structure?
- verbosity?
- clarity?
- simplicity?
This alone makes the question tricky and very subjective.
I personally like persons who swear openly as long as they don't personally attack people, others already feel uncomfortable with swear words.
It's a cultural thing so to say and we all bring in our own biases.
Back to the communication skill, I can give some observations, about ideas that I picked up over the years, most likely some are wrong.
- If you want people to be open you have to agree with them on some point
- I like the way you think, but I see some issues in ....
- Constructive criticism
- Critique the action not the person -> ABC is bad because.
- Offer an alternative way -> We should do it like XYZ
- Listen
- Listen to what the other person mean and ask questions
- Summarize what we understood back towards the person in your own words
- Reflect on your actions/words
- If we need to blame others we fail to see our failures
- I personally am responsible for any mistake made by my team (this to me is the first rule of leadership).
- Do I think it's better because it came from me? or because it is better?
- Empathy
- We should try to understand the people around us, if someone gets more emotional out of whatever reason, we should not ignore it.
- Talk about failures in private.
- Give praise in public
- If you find something negative check it at least twice.
- If you made a mistake openly admit it.
- Authenticity over being superficial
- Honesty over avoidance
- Don't confuse being rude with being honest. Setting the tone is important
Communication is complicated but lets be real for a second as a programmer you just need average communication skills. Usually we are in small team in a comfortable environment talking about things that should be done within 2 weeks or so.
And as I mentioned in the beginning it is highly subjective.