Ahaha, bem, peguei um pouco da essencia dele.
Bom, ao meu ver não existe jeito "errado", afinal uma carreira não é uma linha reta, cada um constrói o seu de acordo com as variáveis, tipo, o jeito da pessoa, personalidade, situações ao redor (como ter ddependentes), época em que estudou, tipo de ensino, localidade (como faculdade em que estuda), tipo de orientação (professores, vídeos, alguém dando apoio), pessoas influentes ao redor, etc.
Com tudo isso faz a pessoa decidir como se comportar e tomar decisões. Eu percebo que a sua decisão acabou indo pra fora da curva, mas não significa q vc não consiga melhorar. Eu posso dizer com clareza e experiência própria q vc é capaz de melhorar, mas é o que disse, depende mto do seu esforço em fazer acontecer. Eu considero q minha faculdade foi a mais improdutiva q poderia ter, pois msm ter feito BCC na USP, eu sai de lá com nota mediana, reprovei em algumas matérias, não sabia programar direito, nem consegui entrar na área de jogos (eu entrei por causa disso), ou seja, não aproveitei tudo que a faculdade tinha que oferecer. Felizmente o mercado de trabalho me ajudou a evoluir, mas não exatamente na área de programação (naquela época) e sim como cozinheiro. Ali foi o verdadeiro baque que me transformou e a partir disso que entendi o q é ser profissional. A gente como profissional não pode depender dos outros para construir nossa carreira e apenas nós mesmos podemos fazer isso. Por isso deixei claro no início do post para que as pessoas entendam q é apenas vc msm q pode fazer isso por vc. Foi ai qndo voltei pra área de desenvolvimento de software que implicitamente criei esse modo de estudo q no fundo acabou dando certo pra mim para melhorar minhas habilidades como desenvolvedor de software.
Bom, então assim, uma coisa q sei é q se eu fui capaz de mudar minha vida, qqr um consegue. Eu não me considero o melhor, mas comparado ao meu passado, melhorei exponencialmente, tanto que hj sou senior em uma empresa pequena e eu cuido de todos apps da empresa, sendo o único dev mobile. Isso é responsa.
Portanto posso dizer q vc ainda está no início, vc ainda vai melhorar. Primeiro passo é q vc entendeu o problema, agora vc precisa é ver como melhorar. E lembre, é um processo demorado, o bom q vc pode usar o resto da facul pra evoluir. A facul ela ensina de tudo, mas não te capacita em ter habilidades de fazer as coisas, pois isso depende unicamente do foco do estudante.
Por isso eu sempre recomendo iniciantes q querem entrar na carreira começarem a programar antes msm de fazer uma facul, se possível entrar no mercado primeiro, pois é o mercado q mostra o q ela precisa. A facul é um extra para ela ensinar conceitos e tudo q tem na área de programação, assim melhorando o conhecimento dela. Mas no seu caso, como já está na facul, então aproveite esse tempo pra melhorar a si msm.
Olhando o seu caso, eu recomendo q vc não pense q está regredindo. Qqr exercício melhora, por isso faça aqueles exercícios no beecrowd e tals. Pra ajudar, comece a fazer exercícios de nível médio pra cima, pois vc já sabe o básico. O intuito dessa etapa é praticar sua mente e aplicar os algoritmos e estrutura de dados. Vc msm disse q tem dificuldade com complexos, então foque neles. Ai depois vc pula para próxima etapa. Mas se quiser, já pode ir pensando em alguns mini-projetos em paralelo, só faça 1 por vez, pois vc tem q saber seu limite de tempo, por exemplo, vc tem q estudar pras coisas da facul, vc tem q fazer os exercícios, o mini-projeto e tbm vc tem sua vida, seu lazer e outras coisas. Então balanceie isso.
Bom, imagino q com isso vc já deva ter um norte do q fazer. Boa sorte ai nos seus estudos.