Executando verificação de segurança...
1

começando em Java em 2023 o que realmente importa?

estou começando em java mas ja usei Javascript, o que realmente devo estudar de java com foco no mercado, sei que tenho que aprender java puro e depois Spring boot, mas qual seria sua dica do que realmente é usado para estudar o necessário para o mercado?

Carregando publicação patrocinada...
1
1

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.