Software Engineering
Este plano tem como objetivo abordar os diferentes aspectos e etapas do desenvolvimento de software, tanto de forma conceitual quanto prática. Por isso, ele contém conteúdos que eu considero importantes como escrita de código, padrões de projeto, modelagem de sistemas, design de código, organização de equipes, entre outros.
Não se apegue à linguagem PHP presente nesse plano, ela é uma mera ferramenta (a linguagem aqui pode ser facilmente substituída pela que você mais domina). O meu objetivo é aprender coisas que eu não sei e/ou relembrar assuntos que eu já esqueci e, sendo PHP a linguagem que eu mais domino eu a escolhi, de modo que eu não tenha que me preocupar com aspectos da linguagem quando estiver praticando.
E na minha opinião você deve escolher uma linguagem e praticar. É necessário sentir na pele as dores de fazer uma ideia se tornar algo real e encarar problemas básicos que vão desde a preparação do ambiente de desenvolvimento até questões complexas como comunicação entre serviços e monitoramento. Só assim é possível tomar decisões entre tecnologia A ou B durante um projeto.
Além disso, já que softwares são produzidos por pessoas, é necessário procurar meios de atuar em equipes reais, interagir com os membros e levantar dúvidas, dar sugestões, errar e aprender sobre a etiqueta do trabalho em equipe, tendo em mente que tecnologia é um meio para um fim e é importante dar mais valor aos indivíduos e às interações do que a processos e ferramentas, como diz o primeiro valor do manifesto ágil.
Planos de estudo são sequências de cursos e outros conteúdos criados por alunos e alunas da Alura para organizar seus estudos. Siga planos que te interessem ou crie o seu próprio.
Passo a passo
-
1
Conteúdo do plano
-
Alura+ Cascata vs Ágil
-
Podcast Agilidade – Hipsters #05
-
Alura+ O que é eXtreme Programming?
-
Curso Extreme Programming: metodologia de desenvolvimento ágil de software
-
Curso Engenharia de requisitos: como levantar, documentar e validar
-
Curso Engenharia de requisitos: da demanda ao gerenciamento
-
Curso UML: modelagem de soluções
-
Curso UML: modelagem de diagramas
-
Curso Bizagi: mapeamento de processos com BPMN
-
Podcast Scrum e Agile para além de Tecnologia – Hipsters #115
-
Curso Scrum: agilidade em seu projeto
-
Curso Organização de Equipes Ágeis: os papéis existentes em uma equipe
-
Alura+ Histórias de usuário e scrum combinam?
-
Alura+ Como melhorar as Histórias de Usuário
-
Artigo Kanban: o que é, o Método Kanban, principais conceitos e como funciona no dia a dia
-
Podcast Kanban e o fluxo de trabalho – Hipsters #74
-
Alura+ Scrum x Kanban
-
Video Esqueça Metodologias "Ágeis" | [Rated R] - YouTube
-
Artigo Como não aprender orientação a objetos: Herança
-
Artigo Como não aprender Java e Orientação a Objetos: getters e setters
-
Curso Avançando com Orientação a Objetos com PHP: Herança, Polimorfismo e Interfaces
-
Curso SOLID com PHP: princípios da programação orientada a objetos
-
Curso Design Patterns em PHP: padrões comportamentais
-
Curso Design Patterns em PHP: padrões estruturais
-
Curso Design Patterns em PHP: padrões criacionais
-
Alura+ Tell, don't ask e Fail Fast
-
Curso Object Calisthenics: exercitando a Orientação a Objetos
-
Artigo Qual é a diferença entre HTTP e HTTPS?
-
Curso HTTP: entendendo a web por baixo dos panos
-
Artigo Autenticação, autorização e segurança no front-end
-
Alura+ O que é uma API?
-
Alura+ O que é REST?
-
Alura+ Boas práticas na Modelagem de API's REST
-
Curso PHP na Web: lidando com segurança e API
-
Alura+ O que é Test-Driven Development (TDD)?
-
Curso PHP e TDD: testes com PHPUnit
-
Alura+ Entenda a Pirâmide de Teste
-
Alura+ API: Testes de contrato
-
Curso Mocks em PHP: entenda os dublês de testes
-
Curso Testes de integração com PHP: testando o acesso à API e ao banco de dados
-
Alura+ Testes de Mutação - Testando seus testes
-
Curso Quality Assurance: plano de testes e gestão de bugs
-
Podcast Testes Automatizados – Hipsters #51
-
Alura+ Cobertura de Código
-
Formação Segurança de software com OWASP
-
Alura+ Design de código vs Arquitetura de software
-
Alura+ O que é arquitetura hexagonal?
-
Alura+ Clean Architecture (Arquitetura Limpa) - O que é?
-
Curso PHP e Clean Architecture: descomplicando arquitetura de software
-
Alura+ Domain-Driven Design (DDD) - O que é?
-
Curso PHP e Domain Driven Design: apresentando os conceitos
-
Alura+ O que é Behavior-Driven Development (BDD)?
-
Curso PHP e Behavior Driven Development: BDD com Behat
-
Alura+ O que são Microsserviços?
-
Alura+ Tipos de Microservices
-
Curso Microsserviços na prática: entendendo a tomada de decisões
-
Curso Microsserviços: explorando os conceitos
-
Curso Microsserviços: padrões de projeto
-
Alura+ O que é um API Gateway?
-
Curso NGINX: servidor Web, Proxy Reverso e API Gateway
-
Curso NGINX Parte 2: performance, FastCGI e HTTPS
-
Alura+ O que é uma arquitetura orientada a eventos?
-
Alura+ Modelagem de eventos
-
Alura+ O que é Mensageria?
-
Alura+ O que é Service Mesh?
-
Formação Mensageria com Apache Kafka
-
Podcast Primeiros passos com Devops – Hipsters #81
-
Formação Começando em DevOps
-
Formação Integração Contínua e Entrega Contínua
-
Curso Integração Contínua: mais qualidade e menos risco no desenvolvimento
-
Curso Entrega Contínua: confiabilidade e qualidade na implantação de software
-
Curso Jenkins e Docker: Pipeline de entrega continua
-
Formação COBIT 2019
-
Alura+ Quality Assurance e entrega contínua
-
Podcast DevOps: Observabilidade – Hipsters Ponto Tech #260
-
Podcast SRE: Site Reliability Engineering – Hipsters #187
-
Formação SRE
-
Alura+ Monitoramento com Netdata
-
Podcast Ferramentas de Monitoramento e Observabilidade – Hipsters Ponto Tech #281
-
Formação Orquestração de containers com Kubernetes
-
Curso Arquitetura de computadores: por trás de como seu programa funciona
-
Formação Redes de computadores
-
Formação Certificação LPI Linux Essentials
-
Curso Linux I: conhecendo e utilizando o terminal
-
Curso Linux II: programas, processos e pacotes
-
Formação Gestão da qualidade
-
Excluir Trilha de Estudos?
Ao excluir, você não não conseguirá mais visualizar e acessar a Trilha de Estudos criada por você