I've struggled with overthinking and perfectionism a lot. It's something that has spoiled every aspect of my life, and at times it can turn out to be exceptionally horrendous.
There are times when I'll literally stare at something that I've created for hours, trying to find something wrong with it. Whether it be code, writings, paintings, or homework; I just stare at it, rereading it over and over, checking over and over, trying to find something wrong with it, when in fact there's nothing wrong with it. My mind disregards all rationality and I just sit there like a vegetable.
I've caught myself plenty of times just looking at my website for hours and not doing anything. I'm always scanning for things to fix, trying to make everything perfect, when in fact this goal of "perfection" is so vague that I don't know what I'm even trying to achieve: all I know in my head is that the things I create are always in the state of not being perfect, whatever that even means. What a horrible state to be in, where everything except the thing which I created is "perfect". The amount of hours which I have wasted trying to look for something to fix cannot be numbered, that is how much life I've wasted with this painful behaviour.
With overthinking, I tend to paralyze myself by trying to prepare as much as possible for anything, and trying to think 15 to 20 steps ahead. The thing with this is that the moment one step goes wrong, perfectionism kicks in and I just give up completely. See the problem? I'd rather willfully give up than to continue with the fact that my plan failed. Overthinking stops me from getting started, and perfectionism shuts me down if I manage to get going, rendering any activity a huge hurdle to overcome despite the fact that it could be something so minute. It's this blow that renders me incapable of doing anything.
What I need to realize is that I don't need everything figured out to take a step forward. If we try to figure everything out before we even take the first step, then we're merely just speculating about the possibilities that can occur after taking that first step, instead of adapting after taking the step. Of course, it's good to prepare for anything beforehand, but there's also the problem of overpreparation, where you prepare for events which may not even occur, and as a result the event that does occur throws you completely off. It's kind of like playing a future conversation in your head, trying to prepare your answers and how to compose yourself, and then you start talking and then the person goes off script. What now? Then you're really screwed.
It's not a matter of not thinking completely, but rather knowing how to balance preparation and acknowledging the fact that there's not much you can do after going forward. Humans are built to adapt, and we adapt by being in the thick of things rather than speculating and preparing for the events to come. We also know how to prepare for future outcomes, but we may get overly concerned with it to the point where we become fearful of even taking the step forward unless we know exactly how the chain of events will pan out, which never really happens.
And with regards to perfectionism, I need to understand that my perception of what is perfect and what isn't is flawed. Sure, it's good to have some standards so that we have something to work towards, but standards which are tyrannically enforced will just paralyze us as opposed to pushing us forward. It's better to have standards which grow as one's skill increases, as opposed to trying to force one's self to create a masterpiece right from the very beginning. Perfectionism is just not a healthy way to progress in life, nor is it really a rational standard to put one's self to.