Backend Roadmap
Um guia prático e progressivo para dominar Java moderno e backend.
🧱 1. Fundamentos de Programação
Seção intitulada “🧱 1. Fundamentos de Programação”Lógica de Programação
Seção intitulada “Lógica de Programação”- Algoritmos e resolução de problemas
- Pseudocódigo
- Linguagens de programação
Conceitos básicos
Seção intitulada “Conceitos básicos”- Variáveis e constantes
- Tipos de dados (primitivos e não primitivos)
- Atribuição de valores
- Comentários
Operações
Seção intitulada “Operações”- Operadores aritméticos
- Operadores relacionais e de igualdade
- Operadores lógicos
- Incremento e decremento
- Precedência de operadores
Entrada e saída
Seção intitulada “Entrada e saída”- Leitura de dados
- Escrita de dados
- Concatenação
Controle de fluxo
Seção intitulada “Controle de fluxo”- Condicionais (
if,else,switch) - Estruturas de repetição (
for,while,do-while)
Estruturas de dados
Seção intitulada “Estruturas de dados”- Arrays
- Listas
- Mapas
- Pilhas e filas (conceitual)
🧩 2. Programação Orientada a Objetos (POO)
Seção intitulada “🧩 2. Programação Orientada a Objetos (POO)”Fundamentos
Seção intitulada “Fundamentos”- Classes e objetos
- Métodos e atributos
- Instanciação
Pilares da POO
Seção intitulada “Pilares da POO”- Encapsulamento
- Herança
- Polimorfismo
- Abstração
Conceitos avançados
Seção intitulada “Conceitos avançados”- Interfaces
- Classes abstratas
- Sobrecarga vs sobrescrita
- Modificadores de acesso (
public,private,protected)
☕ 3. Java Core (Moderno)
Seção intitulada “☕ 3. Java Core (Moderno)”Fundamentos da linguagem
Seção intitulada “Fundamentos da linguagem”- Estrutura de um projeto Java
- JVM, JDK e JRE
- Processo de compilação
Orientação a objetos em Java
Seção intitulada “Orientação a objetos em Java”- Construtores
thisesuper- Classe
Object
Tipos e memória
Seção intitulada “Tipos e memória”- Autoboxing / Unboxing
- Upcasting / Downcasting
Collections
Seção intitulada “Collections”- List, Set, Map
ArrayList,HashMap,HashSet- Comparators e Comparable
Manipulação de Strings
Seção intitulada “Manipulação de Strings”- Métodos principais
- Imutabilidade
Exceptions
Seção intitulada “Exceptions”- Checked vs Unchecked
- Try / Catch / Finally
- Boas práticas
Java moderno (Java 8+ até 21+)
Seção intitulada “Java moderno (Java 8+ até 21+)”Funcional
Seção intitulada “Funcional”- Lambda expressions
- Method reference
- Streams API
- Optional
Novidades recentes (Java 14+)
Seção intitulada “Novidades recentes (Java 14+)”- Records
- Text Blocks
- Pattern Matching (
instanceof,switch) - Sealed Classes
- Virtual Threads (Project Loom)
APIs importantes
Seção intitulada “APIs importantes”- Java Time API
- Java IO / NIO
- Concurrency API (Threads, Executors)
Performance e JVM
Seção intitulada “Performance e JVM”- Garbage Collector
- JIT Compiler
- Memory model
☕ 4. JDK & Distribuições
Seção intitulada “☕ 4. JDK & Distribuições”- OpenJDK
- Temurin (Adoptium)
- Azul Zulu
- GraalVM
🔧 5. Build & Dependências
Seção intitulada “🔧 5. Build & Dependências”Ferramentas de build
Seção intitulada “Ferramentas de build”- Maven
- Gradle
- Bazel
Gerenciamento de versões
Seção intitulada “Gerenciamento de versões”- SDKMAN!
Comparativo
Seção intitulada “Comparativo”- Maven vs Gradle: quando usar cada um
- Estrutura de
pom.xmlebuild.gradle
🌿 6. Git e GitHub
Seção intitulada “🌿 6. Git e GitHub”Versionamento
Seção intitulada “Versionamento”- Conceito de versionamento
- Repositórios e branches
Comandos essenciais
Seção intitulada “Comandos essenciais”git clonegit branchgit checkoutgit statusgit addgit commitgit pushgit pullFluxo de trabalho
Seção intitulada “Fluxo de trabalho”- Pull Requests
- Code Review
- Merge
- Resolução de conflitos
🗄️ 7. Banco de Dados (SQL)
Seção intitulada “🗄️ 7. Banco de Dados (SQL)”Fundamentos
Seção intitulada “Fundamentos”- CREATE DATABASE
- CREATE TABLE
- INSERT
- SELECT
- UPDATE
- DELETE
- TRUNCATE
Relacionamentos
Seção intitulada “Relacionamentos”- Chaves primárias e estrangeiras
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL OUTER JOIN
- SELF JOIN
🌐 8. HTTP, APIs e REST
Seção intitulada “🌐 8. HTTP, APIs e REST”Conceitos
Seção intitulada “Conceitos”- O que é API
- Cliente vs servidor
- REST
- Métodos: GET, POST, PUT, DELETE, PATCH
- Status codes:
- 1xx - Informacional
- 2xx - Sucesso
- 3xx - Redirecionamento
- 4xx - Erro do cliente
- 5xx - Erro do servidor
Boas práticas REST
Seção intitulada “Boas práticas REST”- Recursos
- Idempotência
- Versionamento
🌱 9. Frameworks Web
Seção intitulada “🌱 9. Frameworks Web”Spring Boot
Seção intitulada “Spring Boot”- Spring Initializr
- IoC (Inversão de Controle)
- Injeção de dependência
- Beans
- Controllers (
@RestController) - Rotas (
@RequestMapping) - Teste com Postman / Insomnia
- Consumo de APIs externas
Alternativas modernas
Seção intitulada “Alternativas modernas”- Quarkus (foco em cloud-native e GraalVM)
- Micronaut (AOT, startup rápido)
- Helidon (compatível com MicroProfile e Jakarta EE)
🗃️ 10. Persistência & ORM
Seção intitulada “🗃️ 10. Persistência & ORM”JPA e Hibernate
Seção intitulada “JPA e Hibernate”- JPA
- Hibernate
- DAO Pattern
Spring Data
Seção intitulada “Spring Data”CrudRepositoryJpaRepository- H2 Database (banco em memória)
CRUD completo
Seção intitulada “CRUD completo”- Criar
- Listar
- Atualizar
- Deletar
Outras opções
Seção intitulada “Outras opções”- jOOQ (SQL type-safe via DSL)
- MyBatis (mapeamento SQL explícito)
🔄 11. Programação Reativa
Seção intitulada “🔄 11. Programação Reativa”- Spring WebFlux
- Project Reactor
- RxJava
- Virtual Threads como alternativa ao modelo reativo
🔗 12. APIs & Integração
Seção intitulada “🔗 12. APIs & Integração”Documentação e contratos
Seção intitulada “Documentação e contratos”- Swagger / OpenAPI
- Spring GraphQL
Comunicação entre serviços
Seção intitulada “Comunicação entre serviços”- Feign Client (REST declarativo)
- gRPC Java (RPC de alta performance)
- Spring Integration
🔐 13. Segurança & Auth
Seção intitulada “🔐 13. Segurança & Auth”Conceitos
Seção intitulada “Conceitos”- Autenticação vs autorização
Spring Security
Seção intitulada “Spring Security”- Basic Auth
- JWT
- OAuth 2 + OIDC
- Login com JWT
- Refresh Token
- Password encoder (BCrypt)
Gerenciamento de identidade
Seção intitulada “Gerenciamento de identidade”- Keycloak
🧪 14. Qualidade de Software
Seção intitulada “🧪 14. Qualidade de Software”- Testes unitários (JUnit 5, Mockito)
- Assertions fluentes com AssertJ
- Testes de integração com Testcontainers
- Testes de contrato
Boas práticas
Seção intitulada “Boas práticas”- SOLID
- Clean Code
📨 15. Mensageria
Seção intitulada “📨 15. Mensageria”- Apache Kafka
- RabbitMQ
- Spring Integration
- ActiveMQ Artemis
📊 16. Observability
Seção intitulada “📊 16. Observability”- Micrometer (métricas)
- Prometheus (coleta de métricas)
- OpenTelemetry (rastreamento distribuído)
- Grafana (visualização)
- Logging estruturado
☁️ 17. Cloud & Containers
Seção intitulada “☁️ 17. Cloud & Containers”Containers
Seção intitulada “Containers”- Docker
- Kubernetes
- Jib (build de imagens Docker sem Dockerfile)
- AWS, GCP, Azure
- Native Image (GraalVM)
🛡️ 18. Segurança e Produção
Seção intitulada “🛡️ 18. Segurança e Produção”- OWASP Top 10
- Resiliência (retry, circuit breaker)
- Monitoramento e alertas
🛠️ 19. IDEs & Ferramentas
Seção intitulada “🛠️ 19. IDEs & Ferramentas”- IntelliJ IDEA
- Eclipse
Qualidade de código
Seção intitulada “Qualidade de código”- SonarQube
Migração de banco
Seção intitulada “Migração de banco”- Flyway
- Liquibase
🎯 20. Outros tópicos
Seção intitulada “🎯 20. Outros tópicos”- System Design
- Performance tuning
- Escalabilidade
- Engenharia de plataforma
- IA aplicada ao desenvolvimento
🚀 Próximos Passos - Da Sintaxe à Produção
Seção intitulada “🚀 Próximos Passos - Da Sintaxe à Produção”- Domine Java 21+: Records, Virtual Threads, Pattern Matching
- Spring Boot + JPA + Testes (JUnit 5, Mockito, Testcontainers)
- Kafka + Security (JWT, OAuth 2 + Keycloak) + OpenAPI
- Docker + Kubernetes + Observability (OpenTelemetry, Grafana)
- GraalVM Native Image + Performance Tuning
Foque em projetos reais ao invés de só teoria.
Sugestões:
- API REST completa com autenticação (Spring Boot + JWT + OpenAPI)
- Sistema com mensageria (Kafka + Spring Integration)
- Microsserviço com Spring Boot + Docker + Kubernetes
- Serviço reativo com Spring WebFlux + Project Reactor
🔥 Regra de ouro: Aprenda - Aplique - Ensine - Repita