Conheça o blog técnico de Carlos Diego
Áreas de atuação com linhas de pesquisa, desenvolvimento e assessoria técnica em Engenharia de Software, Sistemas Distribuídos, Computação em Nuvem, Dados & Inteligência Artificial.
Arquitetura de Software
A Arquitetura de Software é um ramo da Engenharia de Software que se concentra na concepção, estruturação e evolução de sistemas computacionais complexos. Ela aborda os aspectos fundamentais de design e organização de software, guiando o desenvolvimento de soluções tecnológicas que atendam a requisitos funcionais (o que o sistema deve fazer) e não funcionais (como o sistema deve se comportar). A disciplina abrange práticas, padrões e princípios que orientam a criação de estruturas de software bem projetadas, escaláveis, seguras e sustentáveis ao longo do tempo. A atuação da Arquitetura de Software vai além do planejamento técnico. Envolve a análise de requisitos, a definição de padrões arquiteturais (como monolítico, microsserviços, serverless ou event-driven), e a escolha de tecnologias e frameworks que melhor atendam às necessidades do projeto e do negócio. Arquitetos de software trabalham em colaboração com equipes de desenvolvimento, operações e stakeholders para alinhar a solução tecnológica aos objetivos estratégicos da organização. Essa interação multidisciplinar é essencial para garantir que as decisões arquiteturais levem em conta aspectos como custo, desempenho, segurança, usabilidade e manutenibilidade.
Padrões de Arquitetura de Software;
Governança de Arquitetura de Software;
Avaliação e Diagnóstico de Padrões de Arquitetura de Software.
Processos de Desenvolvimento de Software
Processos de Desenvolvimento de Software envolve a definição, implementação, monitoramento e melhoria contínua de metodologias e práticas que orientam todas as etapas de criação de software, desde a concepção até a entrega. Essa área é crucial para garantir que as equipes de desenvolvimento sigam abordagens estruturadas, produtivas e alinhadas aos objetivos organizacionais, promovendo qualidade, eficiência e previsibilidade no ciclo de vida do software. Os processos de desenvolvimento podem variar entre abordagens tradicionais, como o Modelo Cascata, e metodologias ágeis, como Scrum, Kanban e SAFe. A escolha e a adaptação do processo dependem de fatores como o tipo de projeto, as necessidades do cliente, a cultura organizacional e o grau de incerteza nos requisitos. O principal objetivo é garantir que o software seja entregue dentro do prazo, do orçamento e com a qualidade esperada. A atuação nessa área inclui várias responsabilidades, como a definição do processo de desenvolvimento, onde práticas e ferramentas são selecionadas para facilitar a colaboração, a rastreabilidade e o controle de qualidade. Profissionais dessa área também desempenham papéis importantes na integração de equipes multidisciplinares, assegurando que desenvolvedores, analistas, designers, testadores e stakeholders trabalhem de maneira coesa.
Avaliação de Processos de Desenvolvimento de Software;
Estratégia e Modelagem de Processos de Desenvolvimento de Software;
Modelos de Maturidade de Processos de Desenvolvimento de Software.
Production-Ready Systems
Um software é considerado pronto para produção se for capaz de atender às demandas de seus usuários. Isso inclui facilidade de uso, confiabilidade e disponibilidade. Várias equipes de software avaliam esses critérios de maneiras diferentes, mas as equipes Agile confiam na aceitação de histórias de usuários para validar a usabilidade e em testes automatizados para validar a confiabilidade. A última parte, disponibilidade, significa que o software deve estar disponível para uso (por exemplo, deve estar em produção). As equipes ágeis maximizam a disponibilidade aproveitando implantações automatizadas e praticando a entrega contínua.
Avaliação de Sistemas Prontos para Produção;
Análise e Diagnóstico de Gaps;
Plano de Melhoria e Assessoria Técnica.
SaaS Architecture
O modelo de entrega de software como serviço (SaaS) apresenta uma série de desafios aos desenvolvedores, a partir do estabelecimento de um novo cenário de considerações técnicas, operacionais e de implantação para esses produtos. Adotar o perfil de SaaS geralmente significa repensar os fundamentos de todo o negócio, não apenas a partir da perspectiva técnica, mas também, da perspectiva organizacional. Para apoiar as organizações nessa trajetória de adoção de um modelo de software como serviço, aplica-se o SaaS Enablement Framework. O objetivo é fornecer um roteiro para o desenvolvimento, operação e lançamento de ofertas de SaaS na nuvem. A partir da classificação das práticas recomendadas de SaaS e compensações de design, é possível viabilizar catalisadores para a comunidade SaaS.
Avaliação da Estrutura de Habilitação de SaaS;
Acessando, Construindo e Gerenciando SaaS;
Perfil, Venda e Faturamento de SaaS.
Computação em Nuvem
Computação em Nuvem é uma abordagem de engenharia de software que se concentra na criação de aplicativos para execução em um ambiente de computação em nuvem. Esses aplicativos são projetados para capitalizar as características inerentes de um modelo de entrega de software de computação em nuvem. Cloud native refere-se a uma abordagem para construir aplicativos ou serviços para a nuvem, bem como as características desses aplicativos e serviços. Os aplicativos nativos da nuvem são mais fáceis de atualizar porque são feitos de microsserviços executados em contêineres, o que significa que o aplicativo é dividido em partes que podem ser atualizadas individualmente. As equipes de DevOps usam integração e entrega contínuas (CI/CD) para manter sua parte de um aplicativo atualizada.
Avaliação de Arquiteturas de Software;
Estratégia e Construção de Aplicações Modernas e Nativas em Nuvem;
Estruturação de Equipe Técnica.
Cloud Capacity Planning
O planejamento da capacidade examina quais sistemas estão em vigor, mede seu desempenho e determina os padrões de uso que permitem ao planejador prever a demanda. Um sistema usa recursos para satisfazer as demandas de computação em nuvem que incluem processador, memória, armazenamento e capacidade de rede. O planejamento da capacidade é determinar a capacidade de uma linha de produção, departamento de serviço ou função de atender a uma demanda específica durante um período de tempo. Inerentes a isso estão as ações necessárias para ajustar a capacidade do sistema de atender à demanda.
Avaliação de Planejamento de Capacidade;
Estratégia e Modelagem de Dimensionamento;
Classificação Arquitetural, Definição de Equações de Dimensionamento e Análise de Índice de Confiança.
Dados
Dados representam a matéria-prima fundamental da transformação digital e da tomada de decisão nas organizações modernas. Eles abrangem todo o ciclo de vida da informação, desde a coleta e ingestão a partir de múltiplas fontes, passando pelo armazenamento, processamento e governança, até o consumo analítico e operacional. Arquiteturas modernas como Data Lakes, Data Warehouses e Lakehouses permitem lidar com volume, variedade e velocidade crescentes, enquanto práticas de qualidade, linhagem, segurança e conformidade garantem que os dados sejam confiáveis, rastreáveis e utilizáveis ao longo do tempo. Mais do que armazenar informação, trabalhar com dados significa estruturar bases sólidas para análises, automação e inovação orientada por evidências.
Estratégia e Arquitetura de Dados;
Implementação de processos de Engenharia de Dados;
Governança de Dados.
Inteligência Artificial
Inteligência Artificial é a disciplina que utiliza dados, modelos matemáticos e poder computacional para criar sistemas capazes de aprender, inferir padrões e apoiar ou automatizar decisões. Ela abrange técnicas como Machine Learning, Deep Learning e modelos generativos, aplicadas a problemas que vão desde previsões e recomendações até visão computacional e processamento de linguagem natural. O uso responsável de IA exige atenção não apenas ao desempenho dos modelos, mas também à qualidade dos dados, ao viés, à explicabilidade e à governança ao longo de todo o ciclo de vida. Quando bem aplicada, a Inteligência Artificial amplia capacidades humanas, potencializa a eficiência organizacional e viabiliza novas formas de inovação e interação com a tecnologia.
Arquitetura e engenharia de dados sintéticos;
Ética, Viés e Confiabilidade em IA;
Enriquecimento de modelos de inteligência artificial com dados sintéticos.
Workshops personalizados para clientes corporativos com foco na adoção bem-sucedida de arquiteturas nativas e confiáveis na nuvem.
Palestras corporativas e acadêmicas sobre os temas:
Ciência da Computação
Engenharia de Software;
Sistemas Distribuídos;
Computação em Nuvem;
Dados & Inteligência Artificial.
Ciências Integradas
Ciências;
Empreendedorismo;
Desenvolvimento Humano.
Entre em contato para obter maiores informações sobre as palestras atualmente proferidas em cada um dos temas relacionados.