Admitting your weakness is the first step to overcoming or working around them. So you're doing great. If there's one thing I learnt from being a programmer, it's to never be afraid of asking questions, ever. Keep asking questions to your mentors, colleagues, friends, random people online. There's no way you'll have more than enough knowledge at any given time, there's always something new to learn, new depths to explore so accept it a keep learning and practicing, it's shouldn't stop you from practicing because in coding, you only get more knowledge by practicing, not just by reading theory or other's code. I struggle with perfectionism as well my dude, still do. Strangely I find it exciting when someone peeks over my shoulder when I'm coding, gives me an opportunity to show off, although that's not going to stop me from making mistakes, I just accepted that making mistakes is an everyday thing. Good luck with your job applications.