There is one thing that has held me back the most while progressing in my programming endeavors: perfectionism. It has been an enormous energy drain. I believe that programmers are especially susceptible to it since programming is a very creative but at the same time logical task with many different ways of approaching problems in a huge ecosystem. In the last few years I got to know my perfectionistic side, where it comes from and what is supportive in changing my relationship with it. I always say that perfectionism is a fear of vulnerability. I think it is a topic that is not addressed enough and that many people have challenges with. What are your experiences with perfectionism? How do you handle it? Lets support each other!
I try to write a first prototype without any regards to best practices. When I'm doing a rewrite (of a prototype, not a full product), by then I already have the structure in my mind and perfectionism then can't get in the way. For example I don't design unnecessarily complex sub systems just to get the flexibility I don't need.
One strategy is to leave the thing at hand for few weeks. This way you can
forget most of the trivial, unimportant things that were bothering you before.