Eu depois de perceber que não ia virar sênior estudando três meses.
O objetivo desse plano de estudos #SejaUmBomJunior é você mergulhar de cabeça na base do desenvolvimento web, um passo antes do hype dos frameworks e linguagens de programação novinhas.
Como uma pessoa que quis pular essa etapa inicial da vida de júnior e agora vem apanhando muito decidi criar esse plano de estudos para me motivar a realmente criar uma base sólida de conhecimento em desenvolvimento web (isso fará muita diferença no seu dia-a-dia, vai por mim).
E sabe aquela coisa de "se torne programador em 1 mês" bom, vamos com calma. Foco no feijão com arroz, isso será benéfico para seu inicio de carreira e sua saúde mental.
Me acompanhe nessa jornada, e se você sentir vontade siga esse plano de estudos também, não tem data para você começar. 🚀
Esse plano de estudos irá durar (em média) 3 meses, parece muito tempo mas é só moscar que o tempo passa sem você perceber.
Mês 01
O primeiro mês da imersão será focado em desenvolvimento front-end 💖
O conteúdo para ser estudado:
- HTML5 e benefícios de uma estrutura semântica
- CSS3 (flexbox, grid e etc)
- Javascript (foco em ES6+)
- Acessibilidade na web
Mês 02
O segundo mês da imersão será focado em desenvolvimento back-end 😤
O conteúdo para ser estudado:
- POO - Programação Orientada a Objetos
- Banco de dados (vou focar em banco de dados relacional MySQL)
- Java
Mês 03
O último mês da imersão será focado na elaboração de um "grande" projeto para amarrar todo o conhecimento adquirido nesse período.
Requisitos do projeto:
- Realização de um front-end para a aplicação
- Realização de um back-end para a aplicação
- Realização de controle de versão do projeto, PROIBIDO COMMITAR NA MASTER DIRETO
- Realização do deploy da aplicação
Ao concluir essa imersão você junin terá conceitos bem mais consolidados e terá praticado bastante, e você que começou agora irá adquirir uma bela noção do ciclo de desenvolvimento de uma aplicação web. Mas, isso é a base e um pontapé, seguir na carreira de tecnologia é assinar um pacto de estudar a vida toda 👿. A partir desse ponto você pode escolher no que irá focar e se especializar.
Semana um:
O tema da primeira semana será HTML5 e CSS3, o foco é melhorar as minhas estruturas dos sites e deixá-las mais semânticas e com CSS utilizar menos gambiarras para atingir os resultados que eu quero, montar uma folha de estilos mais organizada e explorar mais as funcionalidades do CSS3.
Para isso será necessário realizar a leitura da documentação (eu sei, eu sei, não é muito interativo mas vai por mim a documentação será sua melhor amiga e te dará mais base para pesquisas futuras).
Material de estudo:
HTML5
- Leitura da documentação sobre os elementos HTML: https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element
CSS3
- Leitura sobre CSS (esse site é MARAVILHOSO): https://css-tricks.com/
Desafios:
Para os dias de prática dessa semana teremos dois desafios:
- Para dar uma aquecida nos dedinhos o primeiro desafio será fazer uma landing page para divulgar algum produto ou serviço.
Bom, você pode estar pensando que é pouco tempo para estudar HTML e CSS, mas não se preocupe porque iremos usá-los daqui em diante para fazer o front-end de todos os projetinhos. Então, você irá praticar bastante e essa semana servirá mais para aprimorar seus conhecimentos sobre o assunto.
🚀 Extra: Caso você esteja começando do zero creio que só a leitura da documentação apesar de muito importante não será suficiente. Então, o Guanabara lançou um curso atualizado sobre HTML5 e CSS3, para conferir é só clicar aqui:
https://www.youtube.com/watch?v=Ejkb_YpuHWs&list=PLHz_AreHm4dkZ9-atkcmcBaMZdmLHft8n
Semana dois:
O objetivo da semana dois será conhecer as diretrizes de acessibilidade e começar a colocar javascript nas nossas páginas estáticas e torná-las interativas hehehe.
Material de estudo:
Acessibilidade
- Diretrizes de acessibilidade para conteúdo web: https://www.w3c.br/traducoes/wcag/wcag21-pt-BR/
- Guia WCAG (consulta rápida): https://guia-wcag.com/
JavaScript
- Guia JavaScript: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide
Desafios:
Para você praticar:
- Pomodoro Timer: https://github.com/florinpop17/app-ideas/blob/master/Projects/1-Beginner/Pomodoro-Clock.md
Semana três:
Bom, na última semana deu para dar aquela lida básica no guia do JS e fazer alguns mini projetinhos. Então, essa semana o foco será totalmente em JS hehehe, iremos utilizar bastante HTML e CSS também mas o foco e deixar suas páginas dinâmicas agora.
Material de estudo:
JavaScript (vídeo aulas)
- Curso do anjo vulgo Guanabara: https://www.youtube.com/playlist?list=PLHz_AreHm4dlsK3Nr9GVvXCbpQyHQl1o1
Desafios:
Para você praticar:
- Music Library Page: https://www.devchallenge.com.br/challenges/5eeed967c2cfb17d361a5a60/details
🚀 Extra: Para mergulhar ainda mais no HTML, CSS e JS a Rocketseat tem alguns conteúdos gratuitos:
https://app.rocketseat.com.br/discover
PS: não será necessário criar um front para os projetos desse mês.
Semana um:
O foco da semana será no javão da massa. Iremos praticar alguns exercícios e fixar alguns conceitos, por enquanto sem estudar OO.
Overview sobre a linguagem caso seja seu primeiro contato: https://rockcontent.com/br/blog/o-que-e-java/
Material de estudo:
- Java
- Curso da Loiane sobre java básico (Essa semana iremos só até o módulo 6, pois os próximos são sobre OO): https://loiane.training/curso/java-basico
Desafios:
Para você praticar teremos oito desafios:
- URI 1005: https://www.urionlinejudge.com.br/judge/pt/problems/view/1005
- URI 1006: https://www.urionlinejudge.com.br/judge/pt/problems/view/1006
- URI 1008: https://www.urionlinejudge.com.br/judge/pt/problems/view/1008
- URI 1009: https://www.urionlinejudge.com.br/judge/pt/problems/view/1009
- URI 1010: https://www.urionlinejudge.com.br/judge/pt/problems/view/1010
- URI 1014: https://www.urionlinejudge.com.br/judge/pt/problems/view/1014
- URI 1035: https://www.urionlinejudge.com.br/judge/pt/problems/view/1035
- URI 1020: https://www.urionlinejudge.com.br/judge/pt/problems/view/1020
PS: Crie sua conta no URI e envie sua resolução, e o site dirá se aceita ou não sua resposta.
Semana dois:
E ai, foi amor ou terror a primeira (ou a segunda rs) vista por java? Bom, essa semana iremos estudar a tão falada Orientação a Objetos.
Material de estudo:
- Java
- Para começar a semana no pique da felicidade bora ler um artigo da Alura sobre programação orientada a objetos: https://www.alura.com.br/artigos/poo-programacao-orientada-a-objetos
- Segunda parte do curso da Loiane, vamos continuar de onde paramos, o módulo será o: Orientação a Objetos e Java: https://loiane.training/curso/java-basico
Desafios:
Para você praticar teremos oito desafios:
- URI 1038: https://www.urionlinejudge.com.br/judge/pt/problems/view/1038
- URI 1040: https://www.urionlinejudge.com.br/judge/pt/problems/view/1040
- URI 1041: https://www.urionlinejudge.com.br/judge/pt/problems/view/1041
- URI 1042: https://www.urionlinejudge.com.br/judge/pt/problems/view/1042
- URI 1052: https://www.urionlinejudge.com.br/judge/pt/problems/view/1052
- URI 1048: https://www.urionlinejudge.com.br/judge/pt/problems/view/1048
- URI 1078: https://www.urionlinejudge.com.br/judge/pt/problems/view/1078
- URI 1176: https://www.urionlinejudge.com.br/judge/pt/problems/view/1176
PS: Criei sua conta no URI e enviei sua resolução, e o site dirá se aceita ou não sua resposta.
Semana três:
Essa semana vamos elevar um pouquinho mais o nível e começar na trilha de java intermediário.
- Java
- Curso da Loiane, Java Intermediário: https://loiane.training/curso/java-intermediario
Desafios:
Para os dias de prática dessa semana teremos oito desafios:
- URI 1789: https://www.urionlinejudge.com.br/judge/pt/problems/view/1789
- URI 1848: https://www.urionlinejudge.com.br/judge/pt/problems/view/1848
- URI 1929: https://www.urionlinejudge.com.br/judge/pt/problems/view/1929
- URI 2143: https://www.urionlinejudge.com.br/judge/pt/problems/view/2143
- URI 2334: https://www.urionlinejudge.com.br/judge/pt/problems/view/2334
- URI 2533: https://www.urionlinejudge.com.br/judge/pt/problems/view/2533
- URI 2554: https://www.urionlinejudge.com.br/judge/pt/problems/view/2554
- URI 2670: https://www.urionlinejudge.com.br/judge/pt/problems/view/2670
PS: Crie sua conta no URI e envie sua resolução, e o site dirá se aceita ou não sua resposta.
Semana quatro:
Sabe aquele papo que dados valem ouro? Pois é, o foco dessa semana será banco de dados \o/.
Irei focar em estudar o banco de dados relacional MySQL, e para que essa imersão seja acessível para todes, bora de mais cursos grátis.
Material de estudos:
- Banco de dados MySQL
- Banco de dados MySQL, mais um cursinho do Guana-anjo: https://www.youtube.com/watch?v=Ofktsne-utM&list=PLHz_AreHm4dkBs-795Dsgvau_ekxg8g1r
Desafios: Siga os desafios propostos no curso.
Parece que não, mas o tempo voa cara! :o
O terceiro mês da imersão será focado em uma introdução ao fantástico mundo do DevOps. Bom, DevOps é um assunto que dá MUITO pano pra manga galera, então não se desespere. Vamos começar com uma introdução e um pézinho em DevOps é o que te fará buscar conhecer mais afundo o assunto. Então, bora ver o que estudaremos essas semanas:
E chegamos, último mês! Recapitulando os requisitos do projeto:
Requisitos do projeto:
- Realização de um front-end para a aplicação
- Realização de um back-end para a aplicação
- Realização de controle de versão do projeto, PROIBIDO COMMITAR NA MASTER DIRETO
- Realização do deploy da aplicação
Detalhes da aplicação:
Bom, você conhece o trello? Ou algum outro app de to do list? Ótimo, pois nessa aplicação será um to do list. Iremos seguir as especificações descritas aqui: https://github.com/florinpop17/app-ideas/blob/master/Projects/2-Intermediate/To-Do-App.md e além disso, a nossa aplicação também deverá ter:
- Cadastro
- Login/Logout
- Perfil do usuário
- Opção de editar perfil do usuário
- 4 campos: Backlog, To Do, Doing e Done
- Os cards deverão se mover de uma lista para a outra
- Os dados devem ficar salvo no banco
O design da aplicação fica a gosto do freguês, então pode colocar toda a sua criatividade para fora.
Com essa aplicação conseguiremos aplicar bastante todo o conhecimento visto durante a imersão, desde a manipulação de arrays até a persistência de dados em memória e deploy. Então, se joga e bora codar.
Tendo completado os temas acima, podemos avançar mais um passo e começar a usar alguns frameworks.