Public criticism is very bad. I once criticized a fellow team member in a fairly loud, emotionally heated public tiff saying stuff like 'If I have to implement that feature that way, I'll quit' (I really did feel like I would have). I was called into the carpet on my manager's office and made very well aware that I had disrupted the team dynamic (because I had surfaced conflict and more importantly otherteamshadoverheard what I had said (which hurts our team's image). Among other things, one of the quieter members of our team expressed concern to our manager (which she had never done ever before). I had to apologize and repair the rift (which took months).