Enquanto você avalia,
8080pessoas já começaram a estudar hoje
Dê o próximo passo e inicie sua carreira
Dê o próximo passo e inicie sua carreira agora mesmo
Escolha seu Plano
Carreiras Alura
Evolua com profundidade técnica, direção clara e aplicação prática.
Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.
Iniciante
Comece do zero com uma trilha clara e progressiva.
Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.
Intermediário
Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.
Avançado
Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.
CURSOS
CARREIRAS
Skills & Go
O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.
Aulas ao vivo
Eventos Alura
Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.
Próximos eventos
Aprenda sobre os principais tópicos relacionados com o tema engenharia de software! Engenharia de software é uma das áreas da computação cujo foco está relacionado com análise, desenvolvimento e manutenção de softwares, bem como gestão de projetos e times. É uma área bastante extensa, pois contempla as diversas disciplinas necessárias durante todo o processo de criação e manutenação de softwares, tais como: Gestão de requisitos;Arquitetura e design de sistemas;Padrões de projeto;Banco de dados;Testes de software;Gestão de projetos; eInfraestrutura e deploy. A formação engenharia de software da Alura está organizada com diversos conteúdos que contemplam tais disciplinas, de maneira que você possa adquirir os conhecimentos necessários para ter uma boa visão sobre esta área tão importante da computação.
Nesta formação de Java, você vai poder expandir seus conhecimentos em Reflection, Exceções, programação com Threads, processos de Build, e detalhes internos da JVM e gestão de memória, para ganhar uma compreensão mais profunda e habilidades práticas em Java. Reflection em Java é um recurso que permite que programas inspecionem e modifiquem o comportamento de classes, interfaces e objetos em tempo de execução. Isso é crucial para o desenvolvimento de software, pois facilita a implementação de funcionalidades como frameworks de teste automatizado, onde os métodos são chamados dinamicamente, e a integração de sistemas, onde classes são carregadas e métodos invocados sem que haja uma dependência direta entre eles. Exceções em Java são eventos que alteram o fluxo normal de execução de um programa, geralmente como resultado de erros. O correto manejo de exceções é vital para criar aplicações robustas e confiáveis. Ele permite que desenvolvedores lidem com situações de erro de maneira controlada, evitando falhas do programa e permitindo a recuperação de erros, garantindo assim uma experiência de usuário mais estável e segura. Threads em Java são fluxos de controle dentro de um programa que permitem a execução de múltiplas partes do código simultaneamente. Eles são essenciais para melhorar o desempenho e a eficiência das aplicações, especialmente em tarefas que podem ser executadas em paralelo ou quando se espera uma resposta de longa duração, como em operações de rede. O uso eficaz de threads pode tornar um aplicativo mais responsivo e rápido. O processo de Build em desenvolvimento de software refere-se à conversão de código-fonte em um executável ou outra forma utilizável. É uma parte fundamental do ciclo de vida do desenvolvimento, envolvendo a compilação do código, a execução de testes, a integração de diferentes módulos e a preparação do software para implantação. Um processo de Build bem estruturado garante que o software seja construído de forma consistente e sem erros, o que é crucial para a entrega rápida e confiável de aplicações de alta qualidade. A Gestão de Memória trata de como os dados de uma aplicação Java em execução ficam organizados na memória. Esse tópico abrange as diferentes áreas da memória, bem como o tratamento dos objetos com o garbage collector e a execução dos bytecodes através da JVM. Conhecer a gestão de memória é essencial para construir aplicações eficientes, que sejam livres de bugs inesperados.
Invista na transformação da sua carreira!
Boas-vindas à Formação Arquitetura Java! Aqui você aprenderá os aspectos essenciais da arquitetura de software Java, desde a concepção do código até a infraestrutura de deploy na nuvem da AWS. Inicialmente, você mergulhará nos princípios do Domain-Driven Design (DDD) e na Clean Architecture, para criar arquiteturas de códigos que sejam flexíveis, escaláveis e de fácil manutenção. Na sequência, o foco será na arquitetura voltada para infraestrutura, ensinando como realizar o deploy de suas aplicações Java na nuvem AWS com a utilização do Docker. Esta formação é ideal para pessoas desenvolvedoras Java que desejam aprofundar seus conhecimentos em arquitetura de software e estão buscando habilidades práticas para projetar, desenvolver e implantar aplicações robustas e escaláveis na nuvem AWS.
Domine a linguagem Python com uma formação prática e estruturada Comece aqui seus estudos em Python para desenvolvimento de software! Uma formação composta por 25 horas de conteúdo organizados em cursos que te vão te ensinar o que é a linguagem python e que guiarão seu mergulho na programação orientada a objetos, incorporando boas práticas de codificação. Essa formação é ideal para quem busca um curso de Python completo, com foco em projetos práticos. Por que aprender python? Python é conhecida por sua sintaxe simplificada, que facilita a leitura e escrita de código. Com um vasto conjunto de bibliotecas abrangendo áreas como desenvolvimento web, Data Science, Machine Learning, automação e jogos, Python oferece uma plataforma rica para exploração criativa. O que você vai aprender na formação Aprenda a programar em python com orientação a objetos? Nesta formação, você mergulhará na programação orientada a objetos e incorporando boas práticas de codificação. Você vai aprender a lidar com erros e manipular diferentes tipos de coleções. Além disso, você explorará técnicas para ler e escrever em vários formatos de arquivos usando Python. Ao concluir esta formação, você terá uma compreensão robusta da linguagem Python e experiência prática por meio de projetos. Isso preparará você para avançar com confiança na área de Python, especialmente em projetos web. Se você estava estudando a versão anterior desta formação, pode continuar seus estudos no link: Aprenda a programar em Python com Orientação a Objetos Se você quer se aprofundar em Data Science, sugerimos que faça a Formação Python para Data Science. Comece agora a sua formação em Python com maior escola de tecnologia do Brasil. Escolha o melhor plano para você e faça parte da comunidade Alura, programe com confiança!
Aprenda a gerenciar containers com Kubernetes. Kubernetes, também conhecido de maneira abreviada por k8s, é uma solução open source utilizada para automatizar e simplificar todo o processo de gerenciamento de containers linux. Foi criado no Google, que foi uma das empresas pioneiras no desenvolvimento e utilização da tecnologia de containers, a qual já revelou que praticamente todos os seus serviços são executados em containers. Kubernetes simplifica o gerenciamento de aplicações que utilizam containers e precisam de segurança, performance, escalabilidade, monitoramento, e suporte em diferentes provedores cloud.
Boas-vindas à Formação de Arquitetura em .NET! Nesta formação, você terá a oportunidade de explorar conceitos avançados de desenvolvimento de software com o foco em Arquitetura Limpa, Domain-Driven Design (DDD) e estratégias de infraestrutura voltadas para o deploy de soluções containerizadas no Azure. Este curso foi pensado para fortalecer suas habilidades como desenvolvedor .NET, permitindo que você projete, implemente e entregue aplicações escaláveis e de alta qualidade. Arquitetura Limpa é um padrão essencial que promove a separação de responsabilidades e permite que você desenvolva sistemas flexíveis e de fácil manutenção. Você aprenderá a estruturar suas aplicações de forma a isolar as regras de negócio das dependências externas, como frameworks, bancos de dados e interfaces de usuário. Essa abordagem facilita a evolução e o teste das suas soluções, além de torná-las mais resilientes a mudanças tecnológicas. O Domain-Driven Design (DDD) é uma metodologia poderosa para resolver problemas complexos no desenvolvimento de software com o foco no domínio do negócio. Nesta formação, você entenderá como identificar e modelar contextos, através da implementação de padrões como Aggregates, Domain Events e Value Objects. DDD permitirá que você desenvolva soluções profundamente alinhadas com as necessidades do cliente e do negócio. A infraestrutura será explorada com um olhar prático, utilizando o Azure como plataforma principal. Você aprenderá a criar, configurar e gerenciar containers para simplificar a entrega e o gerenciamento de suas aplicações. Técnicas como o uso de Azure Container Instances (ACI), Azure Load Balancer serão abordadas, garantindo que você esteja apto(a) a realizar o deploy da aplicação. Ao concluir esta formação, você estará equipado(a) com conhecimentos avançados em arquitetura de software e habilidades práticas para implementar soluções modernas e robustas. Prepare-se para enfrentar os desafios do mercado com confiança, desenvolvendo aplicações que não apenas atendem aos requisitos atuais, mas que também são preparadas para o futuro.
Dê seus primeiros passos na linguagem do Flutter, o Dart! Se você busca uma linguagem para desenvolver aplicações rápidas em qualquer plataforma, o Dart pode ser uma escolha excelente. Essa linguagem tem se destacado por sua produtividade no desenvolvimento multiplataforma, combinada com uma flexibilidade que permite você criar tanto aplicações web, quanto aplicativos mobile com o Flutter, por exemplo. Nesta formação, você irá conhecer o Dart e aprender: As vantagens e desvantagens da utilização do Dart nos seus projetos;Instalar e utilizar as ferramentas;O que são variáveis, listas, laços de repetição e boas práticas da linguagem;Como o paradigma de orientação a objetos se aplica ao Dart;Questões de sintaxe e dinamismo na linguagem de programação;O que são exceções e como lidar com elas;Assincronismo no Dart e muito mais! E para iniciar essa formação você só precisa ter uma boa base em lógica de programação. Ao finalizar esta formação, você será capaz de desenvolver uma aplicação com Dart e implementar funcionalidades, aplicando técnicas diversas e entendendo os fundamentos da linguagem. Bons estudos!
Boas-vindas à Formação Fundamentos de Go! Aqui você aprenderá os aspectos essenciais do desenvolvimento e da arquitetura de software com Go, desde a construção de APIs performáticas até o domínio de conceitos avançados da linguagem. Inicialmente, você mergulhará nos fundamentos da concorrência, ponteiros, interfaces e generics, dominando as ferramentas que tornam o Go uma escolha ideal para sistemas de alta performance. Em seguida, o foco será em boas práticas de design de código e estruturação de projetos, utilizando abordagens modernas e escaláveis. Esta formação é ideal para pessoas desenvolvedoras que desejam começar ou aprofundar seus conhecimentos em Go, aprendendo a projetar, desenvolver e otimizar aplicações robustas e eficientes.
Aprenda a transformar suas aplicações React em Progressive Web Apps (PWAs), as PWAs combinam o melhor dos sites e dos aplicativos nativos, oferecendo uma experiência de usuário rica e interativa. Transformar suas aplicações React em Progressive Web Apps (PWAs) é uma habilidade essencial para qualquer desenvolvedor. Pensando nisso, criamos esta formação para te capacitar nas melhores práticas e tecnologias envolvidas nesse processo. O que você vai aprender: Transformar aplicações React em PWAs completas;Implementar service workers e usar a biblioteca Workbox;Configurar notificações push e gerenciar notificações em segundo plano;Sincronizar dados em segundo plano para melhorar a experiência do usuário;Utilizar o Firebase para enviar notificações. Para fazer esta formação é importante que já possua conhecimentos em React. Ao final desta formação, você estará pronto para transformar suas aplicações React em PWAs robustas e eficientes, proporcionando uma experiência de usuário aprimorada e moderna.
Domine as técnicas certas e destaque-se, escrevendo um código bom e elegante. Nesta formação, você aprenderá os pilares do desenvolvimento de software de qualidade (e as boas práticas do mercado): Princípios do Clean Code (código limpo): ajudam você a escrever com clareza, concisão e manutenção mais simples;SOLID: construa um código na pedra (em vez da areia) com os princípios SOLID. Seu projeto será mais escalável e seguro;MVC, MVVM e VIP: organize melhor seus projetos com as mais comuns arquiteturas no mercado - e descubra qual se aplica aos seus desafios! Ao concluir esta formação, você terá em mãos ferramentas para resolver problemas complexos. O que preciso saber para estudar essa formação? Linguagem Swift;Habilidades básicas de desenvolvimento iOS com View Code. Vamos lá?