Never give up on goals you still care about. Get a beer and some notepaper. Write down some notes about how you can be a better programmer. Think about topics slightly out of the domain - how you represent ideas, how you explain ideas to people, how you try to understand ideas that are explained to you, how you read code. Think about how you can improve. Think about some deliberate practice exercises. Take what's useful from doubters and ignore the rest. You'll get there.