Vou citar aqui as tecnologias/conceitos do meu dia a dia e + alguns por quais já passei, não tome por regra. Veja algumas vagas de empresas serias e se baseie por uma média delas, veja baseada no seu nivel, junior, pleno, senior. Não tenho conhecimento profundo em nenhum dos itens. Conheço mais de Java e spring, o restante precisa saber se virar e entender como funciona. Não fique ansioso ou ache que precisa saber essa lista toda. Já tenho uns 13 anos de experiencia com java.

segue a sopa de letrinhas:

  1. java 1.1 JVM Tunning + Garbage Colecion 1.2 Certificados, JKS. Cadei certificadora e Key
  2. spring 2.2 Jackson
  3. Hibernate
  4. Kafca
  5. AWS
  6. Observability 6.1. appdynamics 6.2 Logs - splunk 6.3 prometheus 6.4 grafana 6.5 logBack 6.6 fluentD 6.7 conceitos de Observabilidades. p99, Requestes por minuto, etc.
  7. Banco de dados sql e no-sql. 7.1 3FN's 7.2 conceitos de desnormalização
  8. Cache: Redis, HibernateCache e conceito
  9. Conceitos de Rest API e OpenApi
  10. Gateway
  11. Protocolo HTTP
  12. Oauthy, STS (security token system)
  13. Testes 13.1 testes de performace 13.2 Testes unitários (obrigatórios hoje em dia) 13.3 Testes funcionais (só o basico para o QA não ficar te devolvendo feature toda hora) 13.4 End to end. (só o basico para o QA não ficar te devolvendo feature toda hora) 13.5 Teste de contrato 13.6 Robot Framewok
  14. Code Quality: sonnarQube, fortify, OWASP
  15. Maven, artifactory. Jfrog.
  16. Docker (tem um video do deChamps que ele mostra como ele configura a maquina/projeto javascript. ele não fala de docker, mas monta o ambiente pra ter um feedback rapido. E em alguns casos o docker vai te ajudar muito nisso. Ter que subir a aplicação pro servidor para testar é um toma tempo imenso. Se cair em alguma situação que só tem como testar no servidor, use e abuse dos testes unitários e sobre ter a visão do todo. você não vai querer ficar fazendo tentativa e erro no servidor (mesmo no de DEV), isso toma muito tempo.)
  17. Git 17.1 gitHub 17.2 gitLab
  18. Deploy's
  19. CI/CD 19.1 gitHubActions 19.2 puppet (esse cara é raro de achar alguma empresa usando) 19.3 jenkins 19.4 estratégias de deploy e resiliciencia.
  20. boas praticas de programação, patterns e arquitetura.

No fim do dia, o que é mais valorisado em um dev é trabalho em equipe, capacidade de aprendizardo e resolução de problemas. Você tem que entender do negocio e saber como usar as ferramentas para resolver oproblema do negócio. Por isso você não precisar ter conhecimento profundo em tudo. só precisa saber que a chave de fenda é para parafusos e o martelo para pregos. Dessa forma quando surgir um problema de negócio pra resolver você sabe por qual caminho proceguir.

A tente sempre ter visibilidade do todo. você vai estar desenvolvendo um grão de area para compor a praia. Ter essa visão de onde sua soluçao se encaixa e o que ela resolve, vai te poupar de muita refatoração no futuro.

Espero que mais pessoas possam contribui mais por aqui.