School of Developers

Becoming a Modern Software Engineer

Aprenda a construir software com as técnicas mais modernas de desenvolvimento e conquiste oportunidades de maior senioridade no Brasil e no mundo.

Imagem representando um calendário
INÍCIO DA PRÓXIMA TURMA:

05/07/2022

    • 0 DIAS
    • 0 HRS
    • 0 MIN
    • 0 SEG
Botão com um ícone de play
Em colaboração com
  • Logo preto da AWS
  • Logo da Microsoft
  • Logo cinza da Refactory
O que você vai aprender

Fluxo completo e automatizado de desenvolvimento de software
.

Avance em competências de desenvolvimento de aplicações escaláveis migrando de monolito para microsserviços com Docker e Kubernetes, aplicando TDD e executando testes automatizados, além de técnicas de refatoração e CI/CD baseados nas melhores práticas do mercado internacional.

Certificado da formação Becoming a Modern Software Engineer

Módulo 1: Manual do Lifelong Learner

Expanda os seus conhecimentos sobre como potencializar o seu processo de aprendizagem a partir de técnicas e exemplos de profissionais que são mestres em aprender de forma contínua.

Módulo 2: Agilidade e Melhores Práticas

Entenda como a agilidade, os microsserviços, DevOps, testes automatizados e refatoração de código estão intimamente relacionados. Aprenda sobre a importância de testes automatizados e refatoração de código para garantir a longevidade, evolução e melhoria de aplicações, mantendo a produtividade do time.

Projeto: Inserindo a cultura ágil no seu time/empresa

Módulo 3: Padrões Arquiteturais e Melhores Práticas

Aprenda como pensar arquiteturalmente e domine os diferentes padrões e camadas de arquitetura, rotas, controladores, comunicação entre microsserviços e quais são as preocupações na hora de transformar um monolito em microsserviços.

Módulo 4: Desenvolvendo microsserviços na nuvem

Domine o desenvolvimento de microsserviços na nuvem com Docker e Kubernetes. Veja na prática a migração de um sistema monolítico para microsserviços aplicando os padrões de migração incremental.

Projeto: Desenvolvendo novas funcionalidades com microsserviços

Módulo 5: Modelagem de domínio e DDD para microsserviços

Entenda a relação dos microsserviços com o design orientado a domínio (DDD) e veja como utilizar essa abordagem de design em que o domínio do negócio é cuidadosamente modelado em software e evolui ao longo do tempo.

Módulo 6: Dos requisitos aos testes automatizados

Veja, na prática, como aplicar TDD como técnica de desenvolvimento e o uso de BDD para definir o comportamento do sistema a ser desenvolvido junto aos stakeholders. Além disso, você conhecerá os princípios para desenvolver testes automatizados que garantam a longevidade do código e produtividade do time. Por fim, aprenda a aplicar testes de integração e aceitação com Cypress.

Projeto: Desenvolvendo testes na sua aplicação

Módulo 7: Refatoração e design patterns para aplicações duradouras

Entenda como tratar código legado e domine os princípios do clean code. Aprenda a identificar code smells, evoluindo o código por meio da refatoração contínua e aplicando design patterns para melhorar a qualidade do código.

Projeto: Refatorando e aplicando design patterns em um componente

Módulo 8: DevOps para quem desenvolve software

Conheça a importância de CI/CD para a produtividade de times de engenharia e garantia de qualidade do software e veja como operar e definir um pipeline completo de CI/CD.

Projeto: Configurando um pipeline de CI/CD

Todos os nossos cursos incluem:

Avaliação dos estudantes

Seta cinza apontando para a esquerda
Foto do Andrey Frazatti que relatou sua experiência Andrey Frazatti | XP Inc.

Becoming a Modern Software Engineer

"Me surpreenderam demais esses primeiros módulos do curso. Parabéns. Conseguiu deixar claro a ideia de Agilidade e Microsserviços. Foi top demais!"

Foto do Felipe Emídio que relatou sua experiência Felipe Emídio

Becoming a Modern Software Engineer

"O curso está sendo incrível. Estou conseguindo subir o nível das minhas decisões desde que comecei. O conteúdo de migração para microsserviços até agora é o meu favorito!"

Foto do Lucas Pereira que relatou sua experiência Lucas Pereira | Nubank

Becoming a Modern Software Engineer

"Quero elogiar, novamente, o conteúdo! Apresentei uma lib para a engenharia de dados inspirada nas arquiteturas do curso e nunca teria chegado na solução sem o módulo que vocês fizeram sobre o tema."

Foto do William Schwaab que relatou sua experiência William Schwaab

Becoming a Modern Software Engineer

"Conteúdo de alta qualidade com foco no mercado de trabalho atual. Os projetos estimulam a resolução de problemas abordando situações reais e estão me ajudando a desenvolver novas habilidades e me preparando para desafios maiores!"

Seta cinza apontando para a direita

Instrutores
.

Círculo verde
Joseph Yoder (EUA)
Founder - Refactory, Inc

Referência mundial em arquitetura de software e desenvolvimento ágil. Prestou consultoria para empresas como Cisco, Nubank, PagSeguro, Motorola, entre outras, ajudando-os a refatorar sistemas complexos e aplicar a cultura ágil.

Círculo verde
Saulo Toledo (Noruega)
PhD Candidate - University of Oslo

+ de 14 anos de experiência com engenharia web, arquitetura e liderança técnica em times ágeis. É candidato a Ph.D. em Informática pela Universidade de Oslo, onde estuda dívidas técnicas em microsserviços para empresas de grande porte.

Círculo verde
Luana Oliveira
QA Engineer - PagSeguro

+ de 8 anos de experiência em conceitos e técnicas de teste como: partição de equivalência, análise do valor limite e testes exploratórios. Apaixonada por automação com foco em testes de integração de aceitação.

Círculo verde
Pamela Peixinho
Senior Software Engineering Manager - QuintoAndar

Coordena gestores para garantia de qualidade técnica da arquitetura e código na produção de aplicações resilientes, escaláveis e simples de manter.

Círculo verde
Luciano Holanda
Senior Software Engineering Manager - QuintoAndar

Experiência em desafios de design de sistemas, infraestrutura, performance na web e construção de experiências de usuário. Lidera times com o desafio de escalar software e produtos com qualidade.

Círculo verde
Eduardo Guerra (Itália)
Scientific Researcher - University of Bozen-Bolzano

Pesquisador na área de desenvolvimento de frameworks, design e arquitetura de software e metodologias ágeis. Sua missão é empregar criatividade unida à excelência técnica, na busca de melhores formas para desenvolver software.

Círculo verde
Thales Carvalho
Head of Product - ITuring

+ de 8 anos de experiência em educação, gestão de produto e desenvolvimento de software. Aplicar técnicas de engenharia de software para produtos e serviços que evoluem rápido, de forma consistente e com escala, sempre foi sua grande paixão.

Perguntas frequentes sobre o curso
.

Para quem é este curso?

Este é um curso para developers que querem atingir uma nível maior de maturidade na qualidade de desenvolvimento de software. De agilidade, arquitetura de software, microsserviços com Docker e Kubernetes à refatoração contínua de código, testes automatizados e práticas de DevOps. A essência do curso está em desenvolver competências de desenvolvimento que permitam com que aplicações evoluam com agilidade e que sejam escaláveis, sustentáveis e realmente entreguem valor ao usuário.

O Nanodegree também atende desenvolvedores que focam em construir carreiras internacionais em engenharia de software e desenvolvimento, pois os conhecimentos apresentados pelos instrutores se adequam ao alto padrão dos maiores polos de tecnologia do mundo.

Para quais carreiras esse curso irá me preparar?

• Senior Software Engineer • Senior Back-end Engineer • Senior Full Stack Developer • QA Engineer • Tech Lead

Os cursos são em português?

Todas as nossas aulas serão em português ou, em caso de professor estrangeiro, legendadas em português. Apesar disso, alguns materiais complementares e termos técnicos utilizados durante as aulas serão em inglês. Sendo assim, um nível intermediário da língua pode ajudar na compreensão de alguns materiais.

O que vou precisar para fazer este curso em termos de hardware e software?

Software:

  • Um editor de código / texto, como vim, Sublime Text, Atom ou VSCode

  • Um navegador web

  • Uma interface de linha de comando, como Terminal (Mac ou Linux) ou Git Bash (no Windows)


Hardware:

  • Computador com macOS, Windows, ou Linux, com mínimo de 4GB de RAM e conexão com a internet.

Pré-requisitos
.

Domínio de programação e versionamento de código

É necessário domínio de alguma linguagem de programação (ex: JavaScript, Python, Java, Ruby etc). É importante saber trabalhar com gerenciamento de pacotes (como o npm e Yarn p/ JavaScript, pip e Anaconda p/ Python, etc) e versionamento de código com git e GitHub.

Noções básicas de front-end

Você precisa conhecer sobre HTML, CSS e JavaScript, saber como funciona JavaScript assíncrono (AJAX) e noções básicas sobre frameworks de front-end (React, Angular, Vue, etc).

Noções básicas de backend

Noções básicas de arquitetura cliente-servidor e MVC. Saber o que é uma API e o que são bancos de dados, computação na nuvem e pra que serve frameworks de backend (Django, Express, Spring etc).

inscreva-se!
Ícone de uma avatar e uma seta apontando para cima, indicando evolução

Estude no ITuring
.

Instituto de Tecnologia para carreiras digitais em alta demanda.

CONHEÇA NOSSOS CURSOS

Instituto de Tecnologia para carreiras digitais em alta demanda.