Olá!
Na minha opinião, acho que você ta pesando muito em cima de você mesmo. 3 anos de experiência é muito pouco, então é normal você não conseguir resolver problemas de cabeça. Até hoje vejo programadores com mais de 10 anos de experiência recorrendo ao google as vezes.
Quanto á lógica, minha recomendação é: Faça projetos pessoais que resolvem problemas reais. Crie projetos com sistemas de pagamentos, assinaturas, sistemas com camadas de cache, etc... Criar sistemas complexos irão te ensinar a resolver problemas comuns em projetos, e quando você se deparar com tal problema no ambiente de trabalho, você já vai ter a resposta através da sua experiência com esse problemas.
Você também pode praticar com exercícios de lógica ou no Leetcode(que nem você ja tá fazendo).
A realidade é: Ninguém nunca vai ser bom o suficiente. Continuar estudando, mesmo que aos poucos, é a fórmula pra melhorar. só pelo fato de você estar correndo atrás disso, você ja tá com a mentalidade acima de muita gente!
Espero ter te ajudado, abraços e boa sorte com seus estudos!