Ao final do curso é esperado que:
- Tenha desenvolvido um olhar mais crítico e profissional em relação ao desenvolvimento de software, elevando seu nível de maturidade;
- Saiba aplicar diversas técnicas de Clean Code e Refactoring com o objetivo de tornar o código mais limpo e compreensível;
- Conheça vários Design Patterns e entenda como eles podem ajudar a criar código mais desacoplado e manutenível;
- Entenda como desenvolver utilizando Test-Driven Development;
- Domine os princípios da Programação Orientada a Objetos;
- Saiba como estruturar a arquitetura da sua aplicação utilizando Ports and Adapters, Clean - Architecture e Domain-Driven Design;
- Conheça Event Sourcing e CQRS para implementar funcionalidades orientadas a eventos
- Entender os princípios de Event-Driven Architecture;
- Entender SOLID de uma vez por todas;
- Ver na prática a diferença entre MVC, MVP e MVVM;
- Se torne uma pessoa muito mais confiante no dia a dia de trabalho, em entrevistas de emprego, - principalmente se estiver querendo alavancar a sua carreira;
- Busque fomentar um ambiente de trabalho baseado na qualidade dentro da sua equipe;
- Com certeza, mesmo que você não tenha experiência com JavaScript e TypeScript, vai sair dominando os principais conceitos da linguagem;
Em todos os exemplos e principalmente na correção de cada etapa do nosso projeto vamos utilizar JavaScript e TypeScript com Node.js e ferramentas de teste como o Jest, juntamente com o banco de dados PostgreSQL e a plataforma de mensageria RabbitMQ.
As aulas serão online e ao vivo e vão ficar disponíveis de forma gravada aqui na plataforma após cada encontro, caso você não esteja disponível no dia.
Ao longo do curso faremos a implementação de um projeto prático, do início ao fim, utilizando tudo que estiver sendo aprendido em cada aula.
É fundamental implementar cada etapa do projeto e faz total diferença na absorção do conteúdo que está sendo apresentado. Por isso, temos uma semana entre cada encontro para você programar e tirar eventuais dúvidas no momento em que estiver fazendo cada uma das etapas do projeto.
As implementações de cada etapa sempre acontecem na aula seguinte, dessa forma você terá bastante tempo para implementar, caso não tenha conseguido fazer durante o encontro.