The root of perfectionism is often a shame feeling that whatever you make will be judged harshly by others. The thought goes something like “well if I keep working on it forever then I will never release it and therefore I will never have to experience the shame of other people critiquing it“.
To help you release yourself from this line of thinking it can be helpful to imagine how you interact with other peoples code that they release. I’m guessing that most of the time you get really excited about other peoples code. Even if you have critiques or would have done it a different way. I’m guessing that the overall feelings that you have when other people release working code, either on your team or in open source, are mostly positive. Try to realize that that’s how other people receive your code as well.
To help you release yourself from this line of thinking it can be helpful to imagine how you interact with other peoples code that they release. I’m guessing that most of the time you get really excited about other peoples code. Even if you have critiques or would have done it a different way. I’m guessing that the overall feelings that you have when other people release working code, either on your team or in open source, are mostly positive. Try to realize that that’s how other people receive your code as well.