10 cargos desde 2010 · 4 alocações em clientes pela SUPERO desde 2020
SUPEROConsultor de Software
HEADconsultorianov 2020 → atual
Consultoria de software em diversos projetos e clientes corporativos: backend, frontend, mobile, integrações de sistemas, modernização de legado, troubleshooting e manutenção.
TOTVSConsultor de Software
set 2023 → ago 2026
Portal corporativo usado por colaboradores de empresas clientes da TOTVS: gestão de usuários e organizações, fluxos de chamados, novas funcionalidades e migração incremental de funcionalidades legadas.
Mostrar 8 mudançasOcultar mudanças
Contribuí para a modernização gradual de um sistema em que aplicações legadas em Java EE, EJB e Node.js coexistiam com serviços mais novos em Spring Boot e NestJS.
Implementei e mantive fluxos de migração baseados em feature flags, para validar as novas implementações antes de migrar os usuários para o novo backend.
Desenvolvi APIs REST e integrações com Fluig, Zendesk e TOTVS Centralized Base.
Apliquei Adapter Pattern, Inversão de Dependência e Injeção de Dependência para reduzir o acoplamento e facilitar os testes automatizados.
Criei anotações customizadas que encapsulam a configuração do Swagger no NestJS, deixando os controllers mais limpos.
Testes unitários com JUnit e Jest, com meta mínima de 60% de cobertura, atualizados sempre que o comportamento mudava.
Apache Kafka, incluindo chaves de mensagem quando a ordem dos eventos precisava ser preservada.
Desenvolvimento assistido por IA com Spec Kit, Claude e GitHub Copilot: revisando, validando, corrigindo e testando o código gerado.
Java
Spring Boot
Node.js
NestJS
Angular
TypeScript
Apache Kafka
JUnit
Jest
SelbettiConsultor de Software
jul 2022 → ago 2023
Times de suporte técnico, mobile e aplicações embarcadas: reprodução, depuração e análise de causa raiz de problemas complexos.
Mostrar 5 mudançasOcultar mudanças
Corrigi um problema no algoritmo de dígito verificador de boletos da Caixa Econômica Federal, analisando o fluxo completo de processamento, encontrando a implementação incorreta e validando com a documentação oficial.
Desenvolvi um app Android nativo em Kotlin com um fluxo ponta a ponta de listagem de impressoras, passando por uma API em Java e Spring Boot.
Recriei o frontend das impressoras Ricoh em HTML, CSS2, JavaScript legado, jQuery e AJAX quando a solução em Angular não conseguia rodar no ambiente da impressora.
Liderei a execução técnica da migração de Java 8 para Java 9, entregando a aplicação funcionando na versão alvo.
Participei de decisões técnicas para adaptar a solução às restrições de hardware e aos prazos de entrega.
Java
Spring Boot
Java EE
Kotlin
Android
Angular
React
Flutter
C#
jQuery
PortonaveConsultor de Software
out 2021 → jun 2022
Software de apoio às operações portuárias em sistemas desktop, web, mobile e integrados.
Mostrar 4 mudançasOcultar mudanças
APIs REST em Java e Spring Boot; aplicações desktop em Eclipse RCP, SWT e Swing.
Apps Android nativos em Java e interfaces web em React, integrados a APIs, serviços e bancos de dados.
Mecanismo de persistência de estado que permitia retomar processos de várias etapas interrompidos exatamente na etapa em que pararam.
Investiguei problemas de precisão numérica e de representação de valores nos fluxos da aplicação.
Java
Spring Boot
Eclipse RCP
SWT
Android
React
PhilipsConsultor de Software
nov 2020 → out 2021
Sistema de gestão hospitalar Tasy: novas funcionalidades e manutenção de módulos existentes.
Mostrar 6 mudançasOcultar mudanças
Uso intenso de Oracle PL/SQL: procedures, functions, views, triggers e consultas complexas, com regras de negócio implementadas no banco conforme a arquitetura do produto.
Participei do desenvolvimento de um fluxo de credenciamento para hospitais que atendem clientes Unimed.
Desenvolvi funcionalidades em PL/SQL de ponta a ponta, do entendimento do fluxo de negócio à implementação, depuração, testes e integração com as aplicações consumidoras.
Referência técnica em qualidade de código, ajudando desenvolvedores a aplicar SRP, Fail Fast, SOLID e remoção de duplicação.
Investiguei bugs reproduzindo fluxos de usuário, analisando logs e depurando a execução da aplicação e do banco de dados.
Trabalhei com várias versões do produto: branches, conflitos de merge e pull requests para cada versão aplicável.
Java
Node.js
Angular
TypeScript
Oracle
PL/SQL
Jenkins
PostoAkiDesenvolvedor de Software
out 2019 → jan 2021
Plataforma de fidelidade para redes de postos de combustível: cupons de desconto, integrações com pontos de venda, aplicações web e mobile.
Mostrar 6 mudançasOcultar mudanças
Entreguei funcionalidades de ponta a ponta entre frontend, backend, banco de dados e integrações, incluindo APIs de terceiros e sistemas Linx.
Aplicação white-label e multitenant atendendo diferentes redes de postos.
Shell scripts automatizando a personalização por cliente: textos, links, configurações, ícones, imagens e identidade visual.
Automatizei a preparação, configuração, build e publicação dos apps Android e iOS.
Participei de decisões de UX, como priorizar o cupom de desconto ao abrir o app e facilitar a navegação em listas longas de postos.
Treinei um desenvolvedor júnior nas atividades e processos do time.
Java
Spring Boot
Angular
Ionic
Shell
AtekySuporte Técnico
jun 2018 → ago 2018
Suporte remoto a clientes de provedor de internet, diagnosticando conexões lentas ou instáveis a partir da configuração de rede, das informações de sinal e das rotas.
SENAIDesenvolvedor de Software
mar 2015 → nov 2015
Sistema web de gestão escolar usado pelas unidades do SENAI.
Mostrar 3 mudançasOcultar mudanças
Funcionalidades em Java Web, Java EE, JSF, JSP, RichFaces e Hibernate; relatórios customizados em SQL e PostgreSQL.
Investiguei problemas analisando logs e depurando a aplicação, e corrigi inconsistências de dados para não bloquear processos escolares.
Testes JUnit para novas funcionalidades, atualizados sempre que as regras de negócio mudavam.
Java EE
JSF
JSP
RichFaces
Hibernate
PostgreSQL
JUnit
EvolumaEstagiário de Desenvolvimento de Software
jul 2013 → dez 2013
Aplicação PHP de rastreamento de veículos: cadastros, relatórios, consultas PostgreSQL, correção de bugs e um manual do usuário em PDF.
Laboratório de Projetos de TI, UNISULEstagiário de Desenvolvimento de Software
mar 2011 → dez 2011
Aplicação desktop de controle de estoque de medicamentos e agendamento de consultas, entregue ao Abrigo dos Velhinhos de Tubarão e, segundo o professor orientador, ainda em uso cerca de cinco anos depois.
Mostrar 3 mudançasOcultar mudanças
Acesso ao banco via JDBC com SQL escrito à mão, em estrutura MVC.
Controle de instância única com Singleton, impedindo que várias instâncias da aplicação fossem abertas ao mesmo tempo.
Indicadores visuais de estoque baixo de medicamentos e de consultas atrasadas; participei da instalação e da entrega na instituição.
Java 6
SWT
GWT
JDBC
MySQL
Laboratório da Biblioteca, UNISULEstagiário de Suporte de TI
rootmar 2010 → dez 2010
Suporte a um laboratório de informática com cerca de 15 estações: conectividade Wi-Fi, endereçamento IP, drivers e hardware.
Cases
Problemas reais, do contexto à solução
Casos que ajudei a solucionar nas empresas e projetos em que atuei. O primeiro é interativo: ligue a flag para acompanhar uma requisição.
Modernização incremental do portal de clientes
TOTVS · via SUPERO · 2023 – 2026
Aplicações legadas em Java EE, EJB e Node.js coexistiam com serviços mais novos em Spring Boot e NestJS enquanto as funcionalidades eram migradas aos poucos. As novas implementações ficavam atrás de feature flags e eram validadas antes de os usuários passarem para o novo backend. Ver o commit da TOTVS no gráfico da carreira.
Portal de clientes cliente
Angular
TypeScript
Serviços legados flag desligada
Java EE
EJB
Node.js
Serviços modernos flag ligada
Spring Boot
NestJS
Frontend embarcado em impressoras Ricoh
Selbetti2022 – 2023
Contexto
Solução para impressoras Ricoh atendida pelo time de aplicações embarcadas, com frontend original em Angular.
Desafio
A versão em Angular não rodava dentro das restrições do ambiente legado da impressora.
Abordagem
Recriei o frontend em HTML, CSS2, JavaScript legado, jQuery e AJAX, e participei das decisões técnicas para adaptar a solução às restrições de hardware e aos prazos de entrega.
HTML
CSS2
JavaScript
jQuery
AJAX
Dígito verificador de boletos da Caixa
Selbetti2022 – 2023
Contexto
Investigação de problemas complexos de software por reprodução, depuração e análise de causa raiz.
Desafio
Um problema envolvendo o algoritmo de dígito verificador dos boletos da Caixa Econômica Federal.
Abordagem
Analisei o fluxo completo de processamento, identifiquei a implementação incorreta e validei contra a documentação oficial do algoritmo.
Resultado
Problema corrigido na implementação do algoritmo.
Migração de Java 8 para Java 9
Selbetti2022 – 2023
Contexto
Aplicação Java que precisava sair do Java 8 para o Java 9.
Desafio
Problemas de compatibilidade entre as versões.
Abordagem
Liderei a execução técnica da migração, analisando os problemas de compatibilidade.
Resultado
Aplicação entregue funcionando na versão alvo. A experiência depois apoiou as discussões da migração de Java 8 para Java 17 na TOTVS.
Java 8
Java 9
Personalização automatizada de app white-label
PostoAki2019 – 2021
Contexto
Plataforma de fidelidade white-label e multitenant, com um app atendendo diferentes redes de postos de combustível.
Desafio
Cada rede precisava de textos, links, configurações, ícones, imagens e identidade visual próprios.
Abordagem
Criei shell scripts que automatizam a personalização por cliente e automatizei a preparação, configuração, build e publicação dos apps Android e iOS.
Ionic
Angular
Shell
Android
iOS
Controle de estoque de medicamentos
UNISUL2011
Contexto
Projeto do Laboratório de Projetos de TI da UNISUL para o Abrigo dos Velhinhos de Tubarão.
Desafio
Controlar o estoque de medicamentos e o agendamento de consultas da instituição.
Abordagem
Aplicação desktop em MVC com acesso ao banco via JDBC e SQL escrito à mão, indicadores visuais de estoque baixo e consultas atrasadas, e bloqueio de múltiplas instâncias com Singleton. Participei da instalação e da entrega.
Resultado
Segundo relato posterior do professor orientador, a aplicação ainda estava em uso cerca de cinco anos depois da entrega.
Placar Esportivo, placar eletrônico de basquete, futsal e vôlei para escolas sem placar físico, usando a TV ou o monitor que a escola já tem. Funciona com duas telas: o placar em tela cheia virado para a quadra e a mesa de controle do operador, com atalhos de teclado para pontos, faltas, tempos e relógio. Não precisa de internet.
Kraked (repositório Goated), app desktop de comunicação em tempo real para comunidades: servidores com canais de texto e voz, chamadas e compartilhamento de tela. Cliente Electron + React sobre uma API NestJS com Socket.IO e PostgreSQL, com WebRTC para voz e tela. Contribuí com correções em chamadas e compartilhamento de tela:
O áudio da tela compartilhada chega a quem assiste, com volume por transmissão.
O controle de som fica sempre no quadro da tela compartilhada.
Compartilhamento de tela e câmera são encerrados ao trocar ou sair do canal de voz.
O app reabre o último servidor acessado depois do login.
O clique aparece no monitor compartilhado, não no principal.
Clean Architecture do curso Full Cycle: camadas de domínio, casos de uso e infraestrutura, API Express com Sequelize e SQLite, eventos de domínio e notification pattern. Testes unitários, de integração e e2e com Jest e Supertest.
Monolito modular do curso Full Cycle, com módulos isolados de catálogo, produtos, clientes, pagamento e faturamento sobre entidades e value objects compartilhados.
Agenda de atendimentos na stack Java web clássica: Servlet, JSP e JDBC com MySQL no Tomcat, em MVC com DAO, BO e DTO para clientes, planos de saúde e procedimentos. Documentada com diagrama do banco, script SQL, Javadoc e screenshots.