Habilidades
Photo by Emile Perron / Unsplash

Habilidades

Tecnologias mudam constantemente. Mais importante do que acumular ferramentas é saber escolher a solução adequada, entender seus impactos e construir sistemas que continuem sustentáveis depois da primeira entrega.

Minha principal experiência está no desenvolvimento backend, na construção de integrações e na evolução de aplicações em produção. Também atuo em interfaces web, aplicações desktop e mobile, bancos de dados, infraestrutura e automações.


Backend e serviços

Desenvolvo APIs, serviços, integrações e rotinas de processamento utilizando diferentes ecossistemas, sempre considerando clareza, manutenção, desempenho e confiabilidade.

TypeScript e Node.js

Utilizo TypeScript como uma das minhas principais linguagens, especialmente na construção de APIs, microsserviços, integrações e aplicações orientadas a eventos.

Tenho experiência com:

  • Node.js;
  • NestJS;
  • Express;
  • APIs REST;
  • Webhooks;
  • Mensageria;
  • Processamento assíncrono;
  • Schedulers e tarefas recorrentes;
  • Autenticação e autorização;
  • Integração com serviços externos.

C# e .NET

Atuo com C# tanto no desenvolvimento web quanto na criação e manutenção de aplicações desktop e serviços corporativos.

Minha experiência inclui:

  • ASP.NET Core;
  • .NET Framework;
  • Entity Framework;
  • Aplicações e serviços Windows;
  • WPF;
  • APIs e integrações;
  • Processamento de documentos;
  • Manutenção e modernização de sistemas legados.

Java, Groovy e Grails

No ecossistema JVM, trabalho com Java, Groovy e Grails na evolução de aplicações financeiras de grande escala.

Essa atuação envolve manutenção cuidadosa de sistemas em produção, desenvolvimento de funcionalidades, refatoração, revisão de código e melhorias voltadas à qualidade e à sustentabilidade da aplicação.

Integrações

Tenho experiência na integração entre sistemas internos, plataformas externas e serviços de terceiros por meio de:

  • APIs REST;
  • SOAP e WSDL;
  • Webhooks;
  • JSON e XML;
  • Filas e mensageria;
  • Serviços de autenticação;
  • Processamento e sincronização de dados.

Frontend e experiência de uso

No frontend, busco construir interfaces claras, responsivas e fáceis de manter. Minha experiência envolve desde sistemas administrativos extensos até aplicações públicas e ferramentas voltadas para desenvolvedores.

Vue e Nuxt

Vue.js e Nuxt fazem parte da minha trajetória desde os primeiros projetos profissionais.

Já trabalhei com:

  • Vue.js;
  • Nuxt;
  • Composition API;
  • Aplicações SPA;
  • Renderização no servidor;
  • Componentização;
  • Gerenciamento de estado;
  • Integração com APIs;
  • Interfaces responsivas;
  • Tailwind CSS.

Angular

Tenho experiência na manutenção e evolução de aplicações corporativas desenvolvidas com Angular, incluindo sistemas extensos, componentes reutilizáveis, telas administrativas e integrações com bibliotecas de interface.

Qualidade de interface

Ao desenvolver uma interface, procuro considerar:

  • Responsividade;
  • Hierarquia visual;
  • Acessibilidade;
  • Estados de carregamento e erro;
  • Feedback das ações;
  • Consistência entre componentes;
  • Desempenho percebido;
  • Manutenção a longo prazo.

Bancos de dados e desempenho

Trabalho com bancos relacionais, bancos orientados a documentos e ferramentas de cache, escolhendo cada tecnologia conforme as características do problema.

Bancos relacionais

  • PostgreSQL;
  • MySQL;
  • SQL Server.

Tenho experiência com modelagem de dados, consultas complexas, índices, migrations, transações e investigação de problemas de desempenho.

Bancos não relacionais e cache

  • MongoDB;
  • Redis.

Utilizo MongoDB em aplicações que se beneficiam de documentos flexíveis e Redis em cenários de cache, sessões, filas, comunicação entre instâncias e controle de concorrência.

Otimização

Entre as atividades relacionadas a desempenho, estão:

  • Análise e otimização de consultas;
  • Criação e revisão de índices;
  • Redução de processamento desnecessário;
  • Estratégias de cache;
  • Processamento em lotes;
  • Controle de concorrência;
  • Investigação de gargalos;
  • Profiling e observabilidade.

Infraestrutura e operação

Além do desenvolvimento das aplicações, tenho experiência com a infraestrutura necessária para executá-las e mantê-las em produção.

Cloud e servidores

  • AWS;
  • Oracle Cloud;
  • Linux;
  • Windows Server;
  • Docker;
  • Docker Compose;
  • Armazenamento compatível com S3;
  • Configuração e manutenção de serviços.

Já atuei na publicação de aplicações, administração de servidores, configuração de bancos de dados, armazenamento de arquivos e diagnóstico de problemas em ambientes de produção.

Observabilidade

Procuro desenvolver sistemas que não apenas funcionem, mas que também permitam entender rapidamente o que está acontecendo quando alguma coisa sai do esperado.

Minha experiência inclui:

  • Logs estruturados;
  • Métricas;
  • Rastreamento de operações;
  • Monitoramento de serviços;
  • Health checks;
  • Diagnóstico de erros;
  • Análise de desempenho.

Aplicações desktop e mobile

Minha atuação não se limita ao navegador. Também desenvolvi aplicações desktop e experiências mobile integradas aos mesmos ecossistemas utilizados no backend.

Desktop

  • WPF com C# e .NET;
  • Electron;
  • Tauri.

Tenho experiência na criação de aplicações desktop, integração com recursos do sistema operacional, comunicação com APIs e modernização de soluções legadas.

Mobile

  • React Native;
  • Aplicações e protótipos multiplataforma;
  • Integração com APIs;
  • Compartilhamento de código e regras entre plataformas.

Automação e coleta de dados

Utilizo automações para reduzir tarefas manuais, integrar sistemas e processar informações em escala.

Tenho experiência com:

  • Python;
  • JavaScript e TypeScript;
  • Puppeteer;
  • Playwright;
  • Web scraping;
  • Processamento de arquivos;
  • Importação e exportação de dados;
  • Rotinas administrativas;
  • Integrações entre sistemas sem APIs disponíveis.

Automação, para mim, não significa apenas executar tarefas mais rápido. Significa reduzir erros operacionais e permitir que as pessoas concentrem tempo em atividades de maior valor.


Qualidade e práticas de engenharia

As ferramentas são apenas parte do trabalho. A maneira como o software é projetado, revisado e mantido tem impacto direto em sua vida útil.

Entre as práticas que aplico no dia a dia, estão:

  • Clean Code;
  • Clean Architecture;
  • Princípios SOLID;
  • Revisão de código;
  • Refatoração;
  • Testes unitários e de integração;
  • Versionamento com Git;
  • Pull requests;
  • Documentação técnica;
  • Padronização entre projetos;
  • Segurança por padrão;
  • Análise de trade-offs;
  • Colaboração e mentoria.

Não busco abstrações apenas por elegância. Prefiro soluções proporcionais ao problema, com responsabilidades claras e complexidade justificada.


Ferramentas de desenvolvimento

Algumas das ferramentas que fazem parte do meu fluxo de trabalho:

  • Git e GitHub;
  • Docker;
  • Postman;
  • Swagger e OpenAPI;
  • Visual Studio;
  • Visual Studio Code;
  • IntelliJ IDEA;
  • DataGrip;
  • DBeaver;
  • Jest;
  • Vitest;
  • Ferramentas de inteligência artificial para pesquisa, revisão e produtividade.

Utilizo inteligência artificial como apoio ao processo de desenvolvimento, sem substituir revisão técnica, validação e responsabilidade sobre o código entregue.


Comunicação

Português: nativo.

Inglês: avançado, com experiência em leitura de documentação, cursos, comunicação escrita e conteúdos técnicos.


Onde mais gero valor

Minha experiência é especialmente relevante em projetos que envolvem:

  • Integrações entre sistemas e serviços externos;
  • Aplicações corporativas com regras de negócio complexas;
  • Evolução e modernização de sistemas legados;
  • APIs, microsserviços e processamento assíncrono;
  • Otimização de desempenho e consultas;
  • Automação de processos manuais;
  • Aplicações que precisam operar em diferentes plataformas;
  • Melhoria de qualidade, observabilidade e manutenção;
  • Colaboração técnica e compartilhamento de conhecimento.

Competências aplicadas na prática

Uma lista de tecnologias mostra apenas parte da história. Nos meus projetos, apresento como essas ferramentas foram utilizadas, quais problemas precisavam ser resolvidos e quais decisões técnicas fizeram parte de cada solução.

Conheça meus projetos →

Veja minha experiência profissional →