10 roles since 2010 · 4 client placements via SUPERO since 2020
SUPEROSoftware Consultant
HEADconsultingNov 2020 → Present
Software consulting across enterprise projects and clients: backend, frontend, mobile, system integrations, legacy modernization, troubleshooting and maintenance.
TOTVSSoftware Consultant
Sep 2023 → Aug 2026
Enterprise customer portal for employees of TOTVS customers: user and organization management, ticket workflows, new features and incremental migration of legacy functionality.
Show 8 changesHide changes
Contributed to the gradual modernization of a system where legacy Java EE, EJB and Node.js applications coexisted with newer Spring Boot and NestJS services.
Implemented and maintained feature-flag-based migration flows so new implementations were validated before switching users to the new backend.
Built REST APIs and integrations with Fluig, Zendesk and TOTVS Centralized Base.
Applied the Adapter Pattern, Dependency Inversion and Dependency Injection to reduce coupling and make automated testing easier.
Created custom annotations that encapsulate Swagger configuration in NestJS, keeping controllers clean.
Unit tests with JUnit and Jest against a 60% minimum coverage target, updated whenever behavior changed.
Apache Kafka, including message keys where event ordering had to be preserved.
AI-assisted workflow with Spec Kit, Claude and GitHub Copilot: reviewing, validating, correcting and testing generated code.
Java
Spring Boot
Node.js
NestJS
Angular
TypeScript
Apache Kafka
JUnit
Jest
SelbettiSoftware Consultant
Jul 2022 → Aug 2023
Technical support, mobile and embedded application teams: reproduction, debugging and root-cause analysis on complex issues.
Show 5 changesHide changes
Fixed an issue involving the Caixa Econômica Federal bank slip check-digit algorithm by analyzing the full processing flow, finding the incorrect implementation and validating it against the official documentation.
Built a native Android app in Kotlin with an end-to-end printer-list flow through a Java and Spring Boot API.
Rebuilt a Ricoh printer frontend in HTML, CSS2, legacy JavaScript, jQuery and AJAX when the Angular solution could not run in the printer's environment.
Led the technical execution of a Java 8 → Java 9 migration, delivering the application working on the target version.
Took part in technical decisions adapting the solution to hardware constraints and delivery deadlines.
Java
Spring Boot
Java EE
Kotlin
Android
Angular
React
Flutter
C#
jQuery
PortonaveSoftware Consultant
Oct 2021 → Jun 2022
Software supporting port operations across desktop, web, mobile and integrated systems.
Show 4 changesHide changes
REST APIs in Java and Spring Boot; desktop applications in Eclipse RCP, SWT and Swing.
Native Android apps in Java and web interfaces in React, integrated with APIs, services and databases.
State persistence that let interrupted multi-step processes resume from the exact step where they stopped.
Investigated numerical precision and value representation issues in application flows.
Java
Spring Boot
Eclipse RCP
SWT
Android
React
PhilipsSoftware Consultant
Nov 2020 → Oct 2021
Tasy healthcare management system: new functionality and maintenance of existing modules.
Show 6 changesHide changes
Extensive Oracle PL/SQL: procedures, functions, views, triggers and complex queries, with business rules implemented in the database per the product architecture.
Participated in developing a credentialing workflow for hospitals serving Unimed customers.
Developed assigned PL/SQL functionality end to end, from understanding the business flow through implementation, debugging, testing and integration with consuming applications.
Technical reference for code quality, helping developers apply SRP, Fail Fast, SOLID and duplication removal.
Investigated bugs by reproducing user flows, analyzing logs and debugging application and database execution.
Worked across multiple product versions: branches, merge conflicts and pull requests for each applicable version.
Java
Node.js
Angular
TypeScript
Oracle
PL/SQL
Jenkins
PostoAkiSoftware Developer
Oct 2019 → Jan 2021
Customer loyalty platform for gas station networks: discount coupons, point-of-sale integrations, web and mobile apps.
Show 6 changesHide changes
Delivered features end to end across frontend, backend, database and integrations, including third-party APIs and Linx systems.
White-label, multitenant application serving different gas station networks.
Automated preparation, configuration, build and publishing of the Android and iOS apps.
UX decisions such as surfacing the discount coupon on app open and easier navigation through long station lists.
Trained a junior developer on the team's activities and processes.
Java
Spring Boot
Angular
Ionic
Shell
AtekyTechnical Support
Jun 2018 → Aug 2018
Remote support for internet service provider customers, diagnosing slow or unstable connections from network configuration, signal information and routes.
SENAISoftware Developer
Mar 2015 → Nov 2015
Web-based school management system used by SENAI units.
Show 3 changesHide changes
Features in Java Web, Java EE, JSF, JSP, RichFaces and Hibernate; custom reports in SQL and PostgreSQL.
Investigated issues through log analysis and debugging, and corrected data inconsistencies so school processes were not blocked.
JUnit tests for new functionality, updated whenever business rules changed.
Java EE
JSF
JSP
RichFaces
Hibernate
PostgreSQL
JUnit
EvolumaSoftware Developer Intern
Jul 2013 → Dec 2013
PHP vehicle tracking application: registration features, reports, PostgreSQL queries, bug fixes and a PDF user manual.
IT Projects Lab, UNISULSoftware Development Intern
Mar 2011 → Dec 2011
Desktop app for medication inventory and appointment scheduling, delivered to Abrigo dos Velhinhos de Tubarão and, per the supervising professor, still in use about five years later.
Show 3 changesHide changes
Database access through JDBC with hand-written SQL, in an MVC structure.
Singleton-based guard preventing multiple application instances from opening at once.
Visual indicators for low medication stock and overdue appointments; took part in installation and delivery at the institution.
Java 6
SWT
GWT
JDBC
MySQL
Library Lab, UNISULIT Support Intern
rootMar 2010 → Dec 2010
Support for a computer lab of about 15 workstations: Wi-Fi connectivity, IP addressing, driver and hardware issues.
Cases
Real problems, from context to solution
Problems I helped solve at the companies and projects I worked with. The first one is interactive: flip the flag to follow a request.
Incremental modernization of the customer portal
TOTVS · via SUPERO · 2023 – 2026
Legacy Java EE, EJB and Node.js applications coexisted with newer Spring Boot and NestJS services while functionality was migrated incrementally. New implementations sat behind feature flags and were validated before users were switched to the new backend. See the TOTVS commit on the career graph.
Customer portal client
Angular
TypeScript
Legacy services flag off
Java EE
EJB
Node.js
Modern services flag on
Spring Boot
NestJS
Embedded frontend for Ricoh printers
Selbetti2022 – 2023
Context
A solution for Ricoh printers handled by the embedded applications team, with an original Angular frontend.
Challenge
The Angular version could not run within the constraints of the legacy printer environment.
Approach
Rebuilt the frontend in HTML, CSS2, legacy JavaScript, jQuery and AJAX, and took part in technical decisions adapting the solution to hardware constraints and delivery deadlines.
HTML
CSS2
JavaScript
jQuery
AJAX
Caixa bank slip check digit
Selbetti2022 – 2023
Context
Investigating complex software issues through reproduction, debugging and root-cause analysis.
Challenge
An issue involving the Caixa Econômica Federal bank slip check-digit algorithm.
Approach
Analyzed the complete processing flow, identified the incorrect implementation and validated it against the official algorithm documentation.
Outcome
Issue fixed in the algorithm implementation.
Java 8 to Java 9 migration
Selbetti2022 – 2023
Context
A Java application that had to move from Java 8 to Java 9.
Challenge
Compatibility issues between the versions.
Approach
Led the technical execution of the migration, analyzing the compatibility issues.
Outcome
Application delivered working on the target version. The experience later informed the Java 8 to Java 17 migration discussions at TOTVS.
Java 8
Java 9
Automated white-label app customization
PostoAki2019 – 2021
Context
A white-label, multitenant loyalty platform with one app serving different gas station networks.
Challenge
Each network needed its own texts, links, settings, icons, images and visual identity.
Approach
Created shell scripts automating per-client customization and automated preparation, configuration, build and publishing of the Android and iOS apps.
Ionic
Angular
Shell
Android
iOS
Medication inventory control
UNISUL2011
Context
A UNISUL IT Projects Lab project for Abrigo dos Velhinhos de Tubarão, a care home.
Challenge
Managing the institution's medication inventory and appointment scheduling.
Approach
Desktop application in MVC with JDBC database access and hand-written SQL, visual indicators for low stock and overdue appointments, and a Singleton guard against multiple instances. Took part in installation and delivery.
Outcome
According to a later report from the supervising professor, the application was still in use about five years after delivery.
Placar Esportivo, an electronic scoreboard for basketball, futsal and volleyball, built for schools without a physical scoreboard, using a TV or monitor they already have. It runs on two screens: the full-screen scoreboard facing the court and the operator's control desk, with keyboard shortcuts for points, fouls, timeouts and the clock. No internet needed.
Kraked (the Goated repository), a desktop app for real-time community communication: servers with text and voice channels, calls and screen sharing. Electron + React client over a NestJS API with Socket.IO and PostgreSQL, using WebRTC for voice and screen. I contributed fixes to calls and screen sharing:
Shared-screen audio reaches viewers, with per-stream volume.
The sound control stays pinned to the shared-screen frame.
Screen sharing and camera stop when switching or leaving a voice channel.
The app reopens the last accessed server after login.
Clicks land on the shared monitor instead of the primary one.
Clean Architecture from the Full Cycle course: domain, use case and infrastructure layers, an Express API with Sequelize and SQLite, domain events and the notification pattern. Unit, integration and e2e tests with Jest and Supertest.
Modular monolith from the Full Cycle course, with isolated catalog, product, client, payment and invoice modules over shared entities and value objects.
Appointment scheduler on the classic Java web stack: Servlet, JSP and JDBC with MySQL on Tomcat, structured as MVC with DAO, BO and DTO layers for clients, health plans and procedures. Documented with a database diagram, SQL script, Javadoc and screenshots.