Harsh self-criticism isn't necessarily a BAD thing, but only if you use it as a goad to practice, practice, practice, and to improve those areas that need it. But if you let it get systematic and pervasive, and don't feel you CAN improve any further, it is just a poison for your soul...
Opinions are a kind of electoral process. You don't get much positive out of only relying on ONE opinion (usually, your own!). But if you allow opinions from ALL walks of life to at least have SOME importance, you might be able to at least balance your own self-negativity (or overconfidence!)...
So if you hate your own playing, but nearly EVERYBODY else compliments you, or you think you are great, but no-one claps at the end of a song, you might at least ADD their opinions to your general impression of yourself. Then, maybe add in the opinion of musicians in your area you respect (if you can get them to talk candidly about what they think), and you might finally get some kind of consensus you can rely on...
But beating yourself up can only be a negative thing unless it inspires you to try harder and improve yourself... and sooner or later, you have to STOP doing it! If you want to play as well as Oscar Peterson, be realistic...! Be content to just get close
Most of the greats were great at a VERY young age. Just be content to be the best you can be...