How did you learn to be not too hard on yourself? I have learnt not to do it, but my way of coping is by not doing as many things that could expose my flaws, which I feel I will regret later.
i think what solves the problem is wanting to accomplish stuff. eventually you just accept that anyone who does anything is really just rolling around in dirt. so just roll around and make something out of the dirt