Engenharia Full-Stack - MERN
Esse é o meu plano de estudos para pessoas interessadas no Desenvolvimento Full-Stack e Full-Cycle, ênfase em MERN (Mongo, Express, React, Node).
A estrutura desse plano é reforçar o Front-End e o Back-End via JavaScript, ensinar banco de dados, ter conhecimentos básicos de UX/UI, extender os conceitos para o celular, com bomo compreender o marketing digital pelo SEO e a segurança via SRE.
Em todas as mini-formações, há incremento da Inteligência Artificial (IA), tanto para auxiliar no cotidiano do desenvolvimento quanto para ser seu oráculo em oferecer resspotas e soluções.
Obs: Vale ressaltar que, para iniciar essa formação, será necessário ter conhecimentos mínimos de programação disponíveis nas formações de "Iniciante em Programação" tanto da Alura quanto do meu (de preferência do meu, que está mais completo e guiado).
Introdução
Inicialmente, você aprenderá o que é o full-stack, o full-cycle, diferenças entre MEAN, MERN e MEVN, bem como aprender HTTP, API, REST e Expressões Regulares (regex).
HTML e CSS
Vai aprender a construir páginas com o HTML/CSS e conhecer os tipos de estilo como flexbox, grid, Bootstrap, Tailwind e Saas.
JavaScript para Front-End
Uma vez entendido os fundamentos do JavaScript, é hora de entender sua aplicação no dinamismo das páginas Web, incluindo manipulação do DOM, localStorage, APIs, arrays para front-end, requisições, validação de formulários, threads, tabelas dinâmicas, AJAX, orientação a objetos para front-end, browser, MVC, etc.
Acessibilidade Digital
Tornar páginas acessíveis é muito importante, tanto no design quanto na programação; por isso irá estudar designs inclusivos, aplicativos uteis e a programação do leitor de tela.
JavaScript para Back-End
Vai estudar os fundamentos do JavaScript primeiramente pelo back-end como variáveis, lógica de programação, arrays, objetos, callback, introdução aos comandos de NodeJS e básico de orientação a objetos. Além disso, irá estudar o Express, um framework do NodeJS para aplicações Web, além de estudar conceitos avançados do Node. Um conhecimento extra de Embedded JavaScript (EJS) também foi adicionado para complementar.
TypeScript
Voltando ao front-end, vai conhecer o TypeScript, uma versão melhorada do JavaScript.
ReactJS e NextJS
Nesse módulo vai conhecer (quase) tudo do React, o framework mais conhecido do JavaScript, além de reforçar sua aplicação com o NextJS.
Usabilidade
Ter noções de design e usabilidade é considerado um diferencial para desenvolvedores full-stack; por isso, passará pelos módulos de UX/UI Design, UX Research e sistemas de design (design systems) .
SEO
Tendo todo o conteúdo técnico adquirido, o próximo passo é tornar o seu site e/ou aplicativo acessível e popular nas redes através dos conhecimentos de Search Engine Optimization (SEO).
PHP
É importante entender PHP, a linguagem que compõe 80% dos sites no mundo, bem como entender o seu framework Laravel e o WordPress pra modelar sites.
Banco de Dados
Novamente no back-end, vai estudar os conceitos de modelagem de dados, os modelos relacionais (SQL) e não-relacionais (NoSQL) e os dois principais gerenciadores de banco de dados (SGBD): MySQL e MongoDB.
Obs: você pode utilizar outro SGBD relacional como MS SQL Server ou PostgreSQL.
DevOpsSec (DOS)
Para finalizar, será necessário adquirir o necessário a integração da aplicação na web através do DOS. Por isso, irá estudar os conceitos fundamentais de Linux e Shell, rede de computadores, práticas de DevOps, container, git e github, integração e entrega contínua (CI/CD), Site Reliability Engineering (SRE), computação em nuvem (AWS e Google).
Dicas e Orientações para desenvolvedores Full-Stack/Full-Cycle:
- Controle de versão (Git e GitHub)
- Front-End (HTML, CSS, JS)
- Back-End (JS, Python, PHP)
- Banco de Dados (SQL, NoSQL)
- Usabilidade (UX/UI Design)
- Mobile (Android, iOS)
- Infraestrutura, Cloud e DevOps (Redes, HTTP, Linux)
- Inteligencia artificial (IA)
- Bônus: conhecimento do negócio