O ponto que você levanta é bastante relevante, especialmente no contexto de persistência e continuidade em projetos de programação. A percepção de "ter capacidade de fazer coisas incríveis com pouca ou nenhuma dificuldade" parece entrar em conflito direto com a desistência frequente ao enfrentar desafios. Essa contradição não desqualifica suas habilidades, mas sugere que sua abordagem para lidar com problemas complexos está comprometendo seu progresso.
A recomendação inicial seria transformar essa percepção em uma estratégia prática.
Considere documentar detalhadamente os desafios que encontra em cada etapa do desenvolvimento. Um problema que não é resolvido em 2 ou 3 dias não significa que o projeto perdeu viabilidade, mas que você talvez precise de mais tempo, novos recursos ou uma abordagem diferente.
Além disso, estabelecer metas menores e iterativas pode ser uma solução eficaz. Divida o projeto em etapas claras, com objetivos alcançáveis dentro de prazos curtos. Isso cria um senso de progresso contínuo, mesmo em face de dificuldades maiores.
Por fim, buscar apoio em comunidades de desenvolvedores, participar de discussões em fóruns ou até mesmo colaborar com outros profissionais pode ser uma maneira de superar o sentimento de isolamento quando problemas surgem. Projetos de software raramente são concluídos sem obstáculos; o que diferencia os desenvolvedores bem-sucedidos é a habilidade de insistir, aprender com os desafios e continuar avançando.