Giving and receiving shoutouts regularly is something I'm experiencing more often since I joined WeTransfer. I noticed the difference to other companies I was is sutil but the impact it had in me is big.
In "The Design of Everyday Things", feedback is one topic discussed extensively. Feedback is one of the most fundamental communication tools. In the book there is a distinct relationship between designers, objects and users but, I can see how fundamental it is to have a good feedback cycle in the team.
I was lucky to join a team that is very active at giving feedback, especially, positive one. When a team mate shares how you have affected their work for the best, It feels good. It is empowering and fulfilling. Let me add that, on top of the feeling the way people share what was that I did and how that affected them serves as a tool to strenght attitudes. Recognition is an incredible effective tool to increase collaboration.
When some things needs to change or be discussed further, I noticed the way people handle that situation is by asking a lot of questions and inquiring into the motives of why you've chosen certain route. Just after all the context is gathered then the negative feedback can be phrased as something more constructive. Sometimes is only about showing people how that affects you, the codebase and/or the context. And if it's hard to say what can be done differently maybe is good to step aside and think together.
When we give feedback that will require to modify certain behaviours on a different person. I find very important to know how open is a person to receive feedback in that particular area. It can be as simple as "Can I give you a tip?" or if that person triggers the feedback with a question such as: "Do you have any comment or advice on what can I do better for X?". Those are clear signs that feedaback will be received and maybe act upon is that person feels it will contribute.
And this last part is very important, you need to accept that not every peace of advice you give is gonna be taken. Changing behaviour could be long process depending how deep into someone's value scale you are touching.
Giving feedback is essential, receiving/giving quality feedback is hard. Positive feedback is an effective motivator for change. Negative feedback is harder to give but neccesary. If you expect change, it can take some time depending the person.