Amigo, não é querendo te desanimar, mas, isso ai que você aprendeu é o básico de qualquer linguagem de programação, creio que com uma breve pesquisada no Google tu conseguirias resultados melhores do que perguntando aqui, mesmo assim vou te ajudar com o que recordo do que estudei.

Pratique o básico

Primeiro tu tem que entender que isso que você aprendeu existem em qualquer outra linguagem de programação, você precisa praticar muito para desenvolver uma lógica para resoluções de problemas, de tal forma que você olhe para o problema e já consiga imaginar como mais ou menos é resolvido.

Aprender algo a fundo é melhor do que aprender várias coisas que não te levam a lugar algum.

Foque em 1 linguagem e aprenda mais que a sintaxe básica, aprenda as funções prontas de uma linguagem, muitos esquecem que todas as linguagens de programação tem seu proposito, a final elas não foram criadas para nada. Foque em 1 e aprenda o máximo possível, cada linguagem de programação tem funções prontas para resolver vários tipos de problemas, aprenda e pratique bastante isso, tente entender como que aquilo funciona, e só aí vamos para a terceira etapa.

Estrutura de Dados E algoritmos

Aqui provavelmente é a parte em que você achara que é muito difícil, mas isso é muito importante, entender pelo menos como os algoritmos mais utilizados funcionam, como os algoritmos de:

  • Busca
    • Busca ordenada
    • Busca binária
  • Ordenação
    • Selection Sort (ordenação por seleção)
    • Bubble Sort.
    • Insertion Sort (ordenação por inserção)
    • Merge Sort (ordenação por intercalação)
    • Quick Sort (ordenação rápida)
    • Heap Sort.
  • Grafos
    • Aqui você ira aprender o máximo que puder, aprender grafos é um mundo de informação, várias faculdades tem uma matéria só sobre isso.

Complexidade de Algoritmo.

É fundamental para qualquer desenvolvedor, entender e conseguir aplicar os conceitos de Complexidade de algoritmos, só assim você consegue melhorar seu código, transformar seu código em algo mais eficiente, algo que custe menos do processador e da memória.

Contando um caso que aconteceu comigo, eu estava em um campeonato regional de programação competitiva, e nosso código resolvia o problema em si, mas não estava rodando dentro do intervalo de tempo pedido, que era de 1,5 segundos, e a gente começou a entrar em desespero, pois ninguém lembrava quase nada de complexidade de algoritmos, mesmo só lembrando o básico a gente conseguiu aprimorar o código e reduzimos o tempo em meio segundo e mesmo assim não foi aceito, no final conseguimos deixar o código rodando em 1,7 segundos e não foi aceito, perdemos a questão pois o tempo acabou, quando chegamos em casa a primeira coisa que a gente foi estudar foi complexidade.

Muitas empresas desejam melhorar seus softwares, e só uma pessoa que entende de complexidade de algoritmos consegue fazer isso.

Estilo de programação

Aprenda diferentes formas de programar, ou pelo menos entenda como funciona:

  • Programação Imperativa.
  • Programação Orientada a Objetos
  • Programação Funcional São as formas de programação mais comuns, pelo menos as que conheço, eu sou bastante adepto a programação Orientada a Objetos. Aqui também é um mundo de informações para quem está começando, aprenda as vantagens, desvantagens, escolha 1 e seja feliz.

Fim

Bom, creio que a partir daqui você vai ter conhecimento necessário para continuar só, não sei se você seguira esse passo a passo, existem muitas outras coisas, acho que o mais importante de tudo é saber pesquisar, saber como pesquisar. Isso é um divisor de águas kkk

Muito obrigado pelas dicas ! A maioria das coisas q vc mencionou eu já vi na faculdade como estrutura de dados (filas, pilhas, árvores e grafos), no ultimo semestre paguei a cadeira de complexidade de algo e vi quão importante é vc saber otimizar seu codígo. a única parte q eu eu peco é nos projetos, pq fiz poucos. Ah tbm sei SQL. Adoro linguagens de paradgma declarativo kkkk

Cara, então você está meio caminho andado, creio que a maiorida das pessoas tem como maior dificuldade, pensar e desenvolver um projeto, a falta de "Criatividade", essa é um dos meus pontos fracos também. Mas recomendo tu pensar em algo que te estigue, algo que você tenha vontade de fazer, já escutei várias pessoas que tem MUITO dinheiro falando: > "Primeiro tenho que tentar ajudar quem está proximo a mim, pois se eu não conseguir ajudar quem está proximo, como que eu vou ajudar o mundo." Bom o que eu entendi é que as vezes que a gente foca muito em criar coisas super massa, que vai ser "mirabolantes" que vai mudar o mundo, mas esquecemos de ajudar o "Seu zé" ali da padaria que precisa de um sistema básico para controle de estoque. A dica que eu te dou se você tem essa base já, é estudar sobre "Engenharia de Software" geralmente nas faculdades de TI tem de 1 a 3 matérias dedicadas a Engenharia de Software, que pega dês do levantamento de requisitos, analise, modelagem de software, até o desenvolvimento de prototios, e a finalização do software. Eu particularmente achei um saco essa parte de modelagem, levantamento de requisitos e etc... e hoje é a parte que eu tenho mais dificuldade e é a que eu mais preciso.