seja-um-bom-junior icon indicating copy to clipboard operation
seja-um-bom-junior copied to clipboard

Plano de estudos: desenvolvimento web 🚀👩‍💻

Eu depois de perceber que não ia virar sênior estudando três meses.

Objetivo

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. 🚀

Cronograma

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:

  • [x] HTML5 e benefícios de uma estrutura semântica
  • [x] CSS3 (flexbox, grid e etc)
  • [x] Javascript (foco em ES6+)
  • [x] 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.

Conteúdo de estudo do primeiro mês

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

  • [x] Leitura da documentação sobre os elementos HTML: https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element

CSS3

  • [x] 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

  • [x] Diretrizes de acessibilidade para conteúdo web: https://www.w3c.br/traducoes/wcag/wcag21-pt-BR/
  • [x] Guia WCAG (consulta rápida): https://guia-wcag.com/

JavaScript

  • [x] 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)

  • [x] 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

Conteúdo de estudo do segundo mês

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.

Conteúdo de estudo do terceiro mês

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:

último mês - projeto final

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.