An open API service indexing awesome lists of open source software.

https://github.com/joaopedroangelo/java-backend-roadmap

Guia de estudos flexível e abrangente para auxiliar futuros desenvolvedores backend Java
https://github.com/joaopedroangelo/java-backend-roadmap

java roadmap

Last synced: 10 months ago
JSON representation

Guia de estudos flexível e abrangente para auxiliar futuros desenvolvedores backend Java

Awesome Lists containing this project

README

          

# RoadMap para Desenvolvedor Backend Java

> O guia oferece um conjunto de tópicos e habilidades essenciais, desde os fundamentos do Java até o desenvolvimento de microsserviços, práticas de design avançadas, integração na nuvem e estratégias de escalabilidade.

---
# Sumário

| ESSENCIAL | APROFUNDAMENTO | TÓPICOS AVANÇADOS |
| :---: | :---: | :---: |
| Java Fundamentos | Princípios de Design e Padrões | Integração e Entrega Contínua |
| Programação Orientada a Objetos (POO) | Arquitetura de Software | Escalabilidade e Contêineres |
| Banco de Dados | | Mensageria |
| Integrar aplicação Java com Banco de Dados | | Desenvolvimento na Nuvem |
| Spring Framework | | |
| Testes de software | | |

---
## Etapa Inicial

![etapa01](/imgs/tp01.png)

### 01 - Java Fundamentos
- [Artigo Alura](https://www.alura.com.br/artigos/java)
- [WikipédiaEN - Java](https://en.wikipedia.org/wiki/Java_(programming_language))
- [Repositório com questões resolvidas](https://github.com/joao-pedro-angelo/JavaSolvedProblems)
- [Site - Estrutura de dados e Algoritmos](https://joaoarthurbm.github.io/eda/conteudo/)

### 02 - Programação Orientada a Objetos (POO)
- [Livro - Java Como Programar](https://www.amazon.com.br/Java%C2%AE-como-programar-Paul-Deitel/dp/8543004799)
- [Resumo.md - Revisão Geral Iniciante](/revisaoConceitosIniciais.md)
- [Repositório - Consumir API](https://github.com/joao-pedro-angelo/DadosCamaraDeputados)
- [Repositório com CRUD Completo](https://github.com/joao-pedro-angelo/ClassicBank)

### 03 - Banco de Dados
- [Artigo Aura](https://www.alura.com.br/artigos/banco-de-dados)
- [Livro - Sistemas de Banco de Dados](https://www.amazon.com.br/Sistemas-banco-dados-Ramez-Elmasri/dp/8579360854)
- [Site - SQLBolt.com](https://sqlbolt.com/)
- [Livro - Banco de Dados NoSQL](https://www.casadocodigo.com.br/products/livro-nosql)

### 03.2 - Integrar aplicação Java com Banco de Dados
- [Artigo Alura - API JDBC](https://www.alura.com.br/artigos/conhecendo-o-jdbc)
- [Repositório - CRUD com API JDBC](https://github.com/joao-pedro-angelo/ClassicBank)
- [Artigo WikipédiaEN - JPA](https://en.wikipedia.org/wiki/Jakarta_Persistence)
- [Repositório - CRUD com JPA Hibernate](https://github.com/joao-pedro-angelo/JPA-Hibernate)

### 04 - Spring Framework
- [Site Oficial](https://spring.io/projects)
- [Introdução - WikipédiaEN](https://en.wikipedia.org/wiki/Spring_Framework)
- [Livro - Vire o jogo com Spring Framework](https://www.casadocodigo.com.br/products/livro-spring-framework)

### 04.2 - Spring em Prática
- [Repositório - Musicalizou Rest API](https://github.com/joao-pedro-angelo/Musicalizou)
- [Desafio Vaga - Rest API](https://github.com/joao-pedro-angelo/PicPaySimplificado)

### 05 - Testes de software
- [Artigo - Tipos de Testes](https://www.alura.com.br/artigos/tipos-de-testes-principais-por-que-utiliza-los)
- [Artigo - Melhores práticas em testes](https://medium.com/@pablodarde/testes-unit%C3%A1rios-com-tdd-test-driven-development-657f3dadad06)
- [Artigo - TDD](https://tdd.caelum.com.br/)
- [Repositório - Testes Controllers](https://github.com/joao-pedro-angelo/Musicalizou/tree/master/src/test/java/com/music/review/app/controllers)

---
## Etapa Intermediária
![etapa02](/imgs/tp02.png)

### 06 - Princípios de Design e Padrões
- [Repositório - Design Orientado a Objetos](https://github.com/joao-pedro-angelo/PSOFT-UFCG)
- [Artigo - SOLID](https://www.alura.com.br/artigos/solid)
- [Site - Guru da refatoração](https://refactoring.guru/design-patterns)
- [Livro - Gang of Four](https://www.amazon.com.br/Padr%C3%B5es-Projetos-Solu%C3%A7%C3%B5es-Reutiliz%C3%A1veis-Orientados/dp/8573076100)

### 07 - Arquitetura de Software
- [Texto.md - Arquiteto de Software](/oArquiteto.md)
- [Texto.md - Arquitetura Java](/JitCompiler.md)
- [Site - Arquitetura de Software](https://joaoarthurbm.github.io/arquitetura-de-software/conteudo/)
- [Artigo - Martin Fowler](https://martinfowler.com/architecture/)
- [Anotações.md - Arquitetura Limpa](/ArquiteturaLimpa.md)

---
## Etapa Avançada
![etapa03](/imgs/tp03.png)

### 08 - Integração e Entrega Contínua
> Em breve serão inseridos links aqui

### 09 - Escalabilidade e Contêineres
> Em breve serão inseridos links aqui

### 10 - Mensageria
> Em breve serão inseridos links aqui

### 11 - Desenvolvimento na Nuvem
> Em breve serão inseridos links aqui

---
# Conclusão

O guia tem o intuito de auxiliar pessoas que já estudam ou que pretendem estudar o ecossistema Java, mas não sabem muito bem qual caminho seguir.

Não há uma ordem certa que se deva seguir, penso que a melhor forma de utilizar este repositório é compreendendo quais os tópicos necessários para que uma pessoa programadora seja considerada um dev Java.

*Bons estudos!*