Então, pra ser back-end e mandar bem de verdade, você precisa saber quase tudo. Bora lá:
- Estruturas de Dados e Algoritmos - Buscas diversas, árvores, hashes, programação, dinamica, algoritmos gulosos, programação númerica..
- Banco de Dados - Relacionais, não-relacionais, caches, replicas..
- Redes de Computadores - HTTP, REST, gRPC, WebSockets, TCP/IP, DNS...
- Sistemas Operacionais - Threads, processos, memória, arquivos, IPC, redes..
- Arquitetura de Sistemas – Monólitos, microserviços, Design Patterns, event-driven, DDD, e todos os buzzwords que vão impressionar no LinkedIn...
- Segurança – Criptografia, autorização, autenticação, prevenção de ataques...
- DevOps– CI/CD, Docker, Kubernetes, Jenkins...
- Paradigmas de Programação - Procedural, Orientada a Objetos, Funcional..
- Matemática - Discreta, Cálculo, Geometria Análica...
- Sistemas Distribuídos– É como redes, mas com 10x mais dor de cabeça.
- Engenharia de Software – Requisios, Verificação e Validação. Documentação, Processos de desenvolvimento de software, Metodologias Ágeis..
E olha, isso aí foi só o começo.. Provavelmente esqueci uns 30 tópicos essenciais. Dá uma olhada nas grades curriculares dos melhores cursos de Ciência da Computação do Brasil e do mundo. É isso que você precisa saber. Boa sorte!
Estou indo no caminho certo,a cada assunto fica mais interessante e vejo que tenho muito a aprender.