There's a guy on my team who everyone thinks is a bad programmer and general looks down on, but he is always willing to help, does a thorough job and writes generally decent code. I have no idea where his reputation came from, but it would be a shame if he were let go based on his peer evaluation.
If he does a good job and is always willing to help, that sounds like a net positive to me. It just might be that there are a lot of toxic team members