Perfectionism can be avoided by coming up with binary goals. You need to define what outcome you’re aiming for so that you can clearly see whether you have achieved success. Overthinking is like optimizing non-bottleneck issues. You don’t want to overthink things because that can often mean you’re trying to polish something that’s going to have tons of errors anyway.
Avoiding perfectionism means not putting too much effort into things that won’t make decisive difference. It’s better to put effort into finding out your patterns of errors than trying to patch up every apparent mistake along the way. Once you find a pattern of error, you can put effort into identifying and correcting the root cause. That can mean going back to basics.
Basic skills have to be mastered to extremely high accuracy because they are the foundation of the metaphorical knowledge skyscraper. A small error in the base of knowledge propogates out into larger patterns of error in more advanced areas. So, I guess that you want to try to do lots of stuff to improve those foundational skills without worrying too much about how well they translate to super advanced ideas. When you lack foundations, you’re not in a good position to judge how much those foundations matter to advance stuff. You just want to continually test your knowledge to see if the layers below are good enough to build upon. You’re looking for areas of weakness so that you can dip back down to root issues and work on them some more.