Based on personal experience and perspective, having a good boss/lead is key.
Personally I have experienced being in a team where everything is passive aggressive and there are quite many scenarios where it's almost always a miscommunication that causes many misunderstandings.
Not only that the aspect on professionalism and private conversations is 0 to none. A conversation of criticising (blaming the team members for not doing a good job) our team members and team performance that my manager and my lead had was leaked to me from the mentioned manager after I have submitted my resignation letter, I have no idea what the intention was that he told me that since I have resigned. But because my lead has a tendency on blaming things on our team members instead of owning up to his own faults so it was expected, yet it made me realise how unprofessional my manager was because he too has a tendency on trying to get each team members individually to tell on each other's mistake and faults and yet he doesn't consult each and everyone personally but passive aggressively to get lead or someone from the team to relate the message in a very subtle way.
Besides that, there does not seem to be any motivation or encouragement after a task was completed well, instead when there is a small mistake it would be emphasise in a way where it makes you feel undervalued and useless, like whatever you do is always wrong.
So personally I would prefer a lead or manager to directly mention or critique on performance or attitude to each individual instead of getting someone to convey the message in such a way which will mentally affect someone and demotivate them.