Tel: +55 31 98100-7706
Belo Horizonte, Brazil
Senior backend developer and Lead Integration Engineer at UbiSafe.
I am a senior backend developer and I also hold the role of Lead Integration Engineer, focusing on architectural decisions and technology selection (together with the software architect), as well as code review, technical mentoring, and developing solutions that integrate platforms and devices. I have experience developing solutions using Java (Spring Framework and Spring Boot), Rust, C# (ASP.NET), and Python. I work on building scalable applications, focusing on event-driven microservices architecture, using RESTful APIs, event-driven asynchronous network communication, relational (MySQL) and non-relational (MongoDB) databases, the Temporal.io framework, Docker, Redis/Valkey, RabbitMQ, and messaging with Apache Kafka and Kinesis, as well as AWS services (Lambda, S3, and SQS). I also have extensive practice in unit and integration testing.
I have solid experience in different languages and ecosystems, including Java, C#, Rust, Python, C, x86 Assembly, and shell scripts, as well as hands-on experience with JavaScript/TypeScript, HTML, and CSS. I am constantly evolving technically, with a recent focus on Rust. Since 2015, I have been developing Hexagonix, an original operating system written entirely in x86 Assembly (see my open source projects below, in the Projects and portfolio section).
I am an undergraduate student in Systems Analysis and Development (PUC Minas), with a technical background in IT. Read more about my academic background below.
I'm interested in the preservation, documentation, and emulation of historical software, and I have a large collection of operating systems gathered over the years. See other interests and other relevant information about me below.
See here my portfolio and contact details. You can also access my website.
#Java #SpringFramework #SpringBoot #Spring #Rust #C# #Linux #MySQL #MongoDB #RabbitMQ #Docker #Python #Backend #Kafka #Kinesis #AWSSQS #AmazonS3 #AWSLambda #JavaScript #TypeScript #Redis #Microsservices #Serverless #OpenSource
See more about my projects on GitHub or on LinkedIn.
Development of solutions using, among other technologies, Java, Spring Framework, Spring Boot, Rust, Python, RESTful APIs, relational (MySQL) and non-relational (MongoDB) databases, JavaScript/TypeScript, Docker, Linux, Redis/Valkey, RabbitMQ, AWS SQS, Amazon S3, messaging with Apache Kafka and Kinesis, unit and integration testing, microservices architecture, and AWS Lambda (serverless).
I currently work as a Senior Backend Developer, holding this title alongside the technical leadership of the integration engineering team, focused on developing scalable solutions for communication between the platform, devices and external systems.
My work combines hands-on development — reading and implementing communication protocols, designing connectors and integration services, certifying devices and platforms — with technical leadership responsibilities, such as defining architecture and technologies together with the software architect, code review and mentoring other developers.
I have been deepening my knowledge of low-level communication (sockets, proprietary binary protocols), event-driven architecture and distributed systems, always with a focus on solutions that need to handle real volume/scale (a large number of devices connected and communicating in parallel), complex protocols, high volumes of processed events, concurrency, among other factors, in a reliable and performant way.
One of the most important aspects of my work is the ability to critically analyze problems before implementation, evaluating impacts, anticipating risks and identifying opportunities to evolve the solution — especially relevant in a domain where poorly evaluated technical decisions carry a high cost to fix.
Skills and technologies: Java · Netty · Rust · Spring Framework · Spring Boot · Apache Kafka · RabbitMQ · Redis/Valkey · MySQL · MongoDB · Docker · Linux · Event-driven architecture · Event-driven asynchronous network communication · Temporal.io framework · Distributed systems · Proprietary communication protocols · Device certification
I took on the technical leadership of the team responsible for the platform's integrations with external devices and platforms, consolidating the front I had started developing as a Mid-Level Developer within the engineering team.
I work on proposing and defining architecture and technologies for new integrations together with the software architect, evaluating trade-offs, the different communication protocols offered by device manufacturers, communication formats (including low-level binary protocols), and certification strategies for new devices and partners. I'm also responsible for the team's code review and for the technical mentoring of other developers, supporting design decisions and best practices specific to this domain (including asynchronous communication, fault tolerance, protocol versioning, etc.). I also began the implementation of new tools, such as the Temporal.io framework.
I continue to actively develop solutions, mainly in Java (using Netty for low-level communication) and Rust, in addition to taking part in technical discussions and decisions about architecture applied to the context of integrations with devices and platforms.
One of the aspects I value most in this role is critical analysis before implementation — a discipline I keep practicing and developing further: evaluating risks, impacts and alternative solutions, which is especially relevant in this domain, where protocol misinterpretation or poorly evaluated architectural decisions carry a high cost to fix after a device has already been certified.
Skills and technologies: Java · Netty · Rust · Spring Framework/Spring Boot · Apache Kafka · RabbitMQ · Redis/Valkey · MySQL · MongoDB · Docker · Linux · Event-driven architecture · Event-driven asynchronous network communication · Temporal.io framework · Proprietary communication protocols · Device certification · Technical leadership · Mentoring · Code review
This was the period in which my role expanded significantly. In addition to continuing to contribute to the evolution of the platform's business applications, I also started working on a new front: developing solutions that integrate the UbiSafe platform with external devices and platforms. In the devices area, I began working on communication with, and certification of, alarm control panels.
In this new front, my work came to cover the full technical feasibility cycle of a new integration: reading and interpreting proprietary communication protocols (often based on third-party technical documentation), defining the most suitable tools and implementation approach for each case, developing the connectors/services responsible for the communication, and leading the device certification process together with other members of UbiSafe's engineering team.
To support this, I expanded my technical toolset with Rust, used in components that required tighter control and better performance when handling binary protocols, and Python, along with non-relational databases (MongoDB) and additional messaging with RabbitMQ, while continuing to use relational and non-relational databases, distributed caching and Kafka.
This period also marked a shift in how I approached problems before implementing them. I started dedicating more time to analyzing risks, protocol limitations and the impact of each technical decision before starting development and testing, ensuring higher quality deliveries.
Skills and technologies: Java · Spring Framework · Spring Boot · Rust · Python · MySQL · MongoDB · Redis/Valkey · RabbitMQ · Apache Kafka · Amazon Kinesis · AWS SQS · Amazon S3 · AWS Lambda · Docker · Linux · Proprietary communication protocols · Device certification
After being promoted to Junior Developer, I continued working on the team responsible for the platform's business applications, with more autonomy over the design and implementation of features, from requirements gathering through delivery and production monitoring. I also began studying topics related to requirements engineering and software architecture.
I expanded my work in RESTful API design and the evolution of services within a microservices architecture, and deepened my use of event-driven messaging (Apache Kafka and Amazon Kinesis) for integration between internal services, aiming to reduce coupling, along with persistence using MySQL and Redis.
I also started using Python for complementary routines and strengthened unit and integration test coverage, aiming for greater reliability in deliveries within a microservices environment with multiple interdependent services.
**Skills and technologies: Java · Spring Framework · Spring Boot · Python · MySQL · Redis · Apache Kafka · Amazon Kinesis · AWS SQS · Amazon S3 · AWS Lambda · Docker · Linux · RESTful APIs · Event-driven microservices architecture **
I started my professional career in backend development on a team responsible for the platform's core business applications, contributing to the development of new features and the maintenance of existing services, under an event-driven microservices architecture.
I took part in the full development cycle, from contract definition and implementation to writing unit and integration tests, using Java with Spring Framework and Spring Boot to build RESTful APIs, along with relational persistence (MySQL) and caching with Redis.
I also worked with event-driven asynchronous communication using Apache Kafka and Amazon Kinesis, and with cloud services such as AWS SQS, Amazon S3 and AWS Lambda (serverless), in addition to using containerized dependencies with Docker on Linux.
This stage of my career allowed me to build solid foundations in backend development with Java and software architecture best practices in a real production environment.
Skills and technologies: Java · Spring Framework · Spring Boot · MySQL · Redis · Apache Kafka · Amazon Kinesis · AWS SQS · Amazon S3 · AWS Lambda · Docker · Linux · RESTful APIs · Event-driven microservices architecture
Skills: Java · Spring Framework · Spring Boot · Rust · C# · MySQL · MongoDB · RabbitMQ · JavaScript · Typescript · Docker · Redis · Linux · Apache Kafka · Kinesis
Skills: Visual Basic · C · Java
Skills: Microsoft Windows · Hardware · Linux
Skills: Microsoft Excel · MySQL · Teaching · Linux · Java · Programming languages
Click on each project's name to access its respective repository on GitHub.
EloCampo is a distributed agricultural marketplace. EloCampo connects rural producers (family farming and urban gardens) directly to consumers, eliminating middlemen from the trade chain. The platform consists of 8 microservices developed in Java 25 and Spring Boot 4, orchestrated by a custom API Gateway (EloGateway), which centralizes the implemented JWT authentication and routes requests between the applications. Persistence is handled by a NoSQL database (MongoDB). On the user side, there is a web application developed in React 18 (with Vite), and a mobile application for Android, developed in React Native (with Expo). The backend was deployed on Azure. In this project, I acted as the solution architect.
Skills: Java · Spring Framework · Microservices · MongoDB · Azure · React · React Native
Gamer Monitor is a real-time performance monitor for Linux built in Rust using GTK4. The goal of this project is to offer a simple, lightweight, and intuitive tool for gamers that displays the device's resource usage, such as workload and component temperatures. Gamer Monitor aggregates information and usage data for the processor, RAM, storage (NVMe only), and graphics card. It is optimized for AMD Radeon and NVIDIA cards. There are plans to add support for Intel Arc cards.
Skills: Linux · Rust
DoeTech is a platform that aims to create an interface between companies and individuals interested in donating electronic equipment that would otherwise be discarded, and social institutions or people in need who wish to receive this type of equipment. DoeTech's proposal is to reduce the production of electronic waste while promoting the reuse of electronic equipment by social institutions and low-income people.
Developed in C# and React Native, using Entity Framework and ASP.NET MVC, it implements a clean architecture on top of the MVC model (MVC + Services + Repositories). It also implements a PostgreSQL database, in addition to support for storing images and documents using Azure Blob Storage.
It supports JWT (JSON Web Token) authentication, sending notifications and emails, and on-demand password recovery. Tested and validated on Azure hosting.
DoeTech was awarded as a featured project developed by undergraduate students of the Systems Analysis and Development program at Pontifícia Universidade Católica de Minas Gerais (PUC Minas), in the first half of 2025. This new iteration takes the project further, creating a new form of access and interactivity for the platform.
Skills: C# · ASP.NET MVC · REST API · Azure Blob Storage · Azure · Entity Framework (EF) Core · PostgreSQL
Agente x86 is a technology blog developed in HTML, JavaScript, CSS, and Ruby.
Skills: HTML · CSS · JavaScript · Ruby
osdev is a project that aims to catalog and gather more information about active open source operating system projects, as well as provide selected material that can help in the development of independent operating system projects. As such, all projects are classified by operating system family, target architecture, whether they are available on GitHub, whether they are active (with commits less than 4 years old), and software license. In addition, the repository seeks to gather and organize historical material on the most widely used operating systems, or those that revolutionized computing, such as UNIX.
Hexagonix is a simple and lightweight operating system, Unix-like and entirely developed in x86 Assembly. Hexagonix is composed of a simple monolithic kernel, called Hexagon, a shell, Unix-like utilities developed in Assembly, and libraries for developing other utilities. In addition, it is self-hosting, featuring a port of the fasm assembler (flat assembler), the same one used to build it. It operates in 32-bit protected mode, with FAT16 support, and runs on Pentium III processors or higher, with 32 MB of RAM or more. It can be installed on a physical machine and run natively. The system aims to be simple and fast, based on some concepts of the Unix philosophy, and is licensed under the BSD-3-Clause license, a permissive free software license. At the moment, all project documentation is available in Portuguese and English, while the code comments are in Portuguese. Hexagonix has extensive documentation, covering various features of the system, the language, and the hardware. The documentation can be found at: github.com/hexagonix/Doc. The project also aims to be an educational tool, with well-commented code.
Skills: Hardware · x86 Assembly · OSDev
DoeTech is a platform that aims to create an interface between companies and individuals interested in donating electronic equipment that would otherwise be discarded, and social institutions or people in need who wish to receive this type of equipment. DoeTech's proposal is to reduce the production of electronic waste while promoting the reuse of electronic equipment by social institutions and low-income people.
Developed in C# and Angular, using Entity Framework and ASP.NET MVC, it implements a clean architecture on top of the MVC model (MVC + Services + Repositories). It also implements a MySQL database, in addition to support for storing images and documents using Azure Blob Storage.
It supports JWT (JSON Web Token) authentication, sending notifications and emails, and on-demand password recovery. Tested and validated on Azure hosting.
DoeTech was awarded as a featured project developed by undergraduate students of the Systems Analysis and Development program at Pontifícia Universidade Católica de Minas Gerais (PUC Minas), in the first half of 2025.
Skills: C# · ASP.NET MVC · MySQL · Azure · Azure Blob Storage · Angular (Framework)
This project/repository aims to facilitate the execution of old versions of UNIX, developed for discontinued architectures, such as PDP-11. This includes the historical Version 1 UNIX, Version 5 UNIX, and Version 7 UNIX. The project includes a script and a Python frontend responsible for downloading disk images of old UNIX versions, as well as preparing these images to run on modern architectures.
Skills: Shell script · Python
General-purpose tools developed in Python to automate or facilitate tasks performed on the command line. In addition, learning utilities for the language, such as a BMI calculator. The projects are distributed across several repositories on my GitHub.
Skills: Python
Lunix OS is an operating system in early development, written in C. Lunix OS has an educational and testing purpose, allowing me to improve my experience with C. It is also documented, allowing other people to use it for the same purpose.
Skills: Hardware · C · x86 Assembly · OSDev
The project relies on a shell script designed to automate the installation of various packages after installing FreeBSD. By default, installing FreeBSD does not install graphics and network drivers, as well as GNU utilities and a graphical interface. The script aims to automate network and graphics configuration, ask the user to choose one of several graphical environments to install, and install GNU tools, such as bash and nano, for example.
Skills: FreeBSD · Shell script
POC-CRUD-csharp is a proof of concept for a backend web application developed in C# that implements data access and manipulation on a MySQL database.
Features already implemented:
The application supports authenticated login, user and account management, and follows good practices of organization and separation of concerns, using an MVC + Services + Repositories model, rather than the conventional MVC model.
Skills: C# · Entity Framework (EF) Core · ASP.NET MVC · REST API
rust-bank is a project that aims to experiment with some particularities of development using the Rust language, such as borrowing, modules, crates, macros, and so on. The application simulates banking operations and was developed from scratch.
Skills: Rust
Which Medicine is a frontend web application developed to address several problems related to medication use in Brazil, such as difficulty reading and understanding package inserts and adverse reactions arising from the administration of incompatible medications, often during self-medication. Self-medication is a fairly common phenomenon, and a fifth of the population reports self-medicating frequently. However, taking medication without a prescription, combined with the use of incompatible medications, causes numerous hospitalizations and deaths in the country. With this problem in mind, and using technology to improve people's lives, we came up with the idea of developing a web application that makes it easier to search for medications and provides, quickly and conveniently, information about registered medications and side effects when taken together with other medications. Application users can register and log in, compare medications to identify possible drug interactions, list and get more information about all registered medications, and share medications on social media, including Facebook, X, and WhatsApp. They can also suggest the inclusion of new medications. There are also admin users, who can add, remove, or edit medication records, as well as approve or reject user suggestions.
The application's interface was designed with responsiveness in mind, and adapts to various screen sizes.
The challenge was to build a web application using only HTML, CSS, and JavaScript, with Bootstrap being the only framework allowed.
Skills: JavaScript · CSS · HTML · Bootstrap
FilmPlay is a small project developed to get movie information using the OMDb API, exercising the use of REST requests and object-oriented programming. To get information via HTTP request, FilmPlay uses the GSON library to serialize and deserialize the JSON sent as a response. The application's libraries and build are managed by Gradle.
Skills: Java
This project aims to demonstrate and make it easier to create a resume that is readable (by both humans and machines) in Markdown, as well as its conversion to PDF. This format is useful for offering a concise, distraction-free resume that can be processed by the automated mechanisms of resume screening and analysis websites.
Skills: Markdown
MIPS Assembly code written by me for the Computer Organization I course (DCC006) at the Department of Computer Science of the Universidade Federal de Minas Gerais (UFMG), in 2018. The code can be run in the MARS MIPS Simulator.
Skills: Assembly MIPS
This is one of the Arduino-based projects developed between 2012-2018. Other projects can be found among my repositories on GitHub.
Skills: C++ · Assembly
PX-DOS is derived from an older version of a DOS system, the Public Domain Operating System (PDOS). PX-DOS adds new layers, abstractions, and functions on top of PDOS and extends its functionality. Several new utilities (userland) have also been added to the base system.
The system's components were split across repositories. There is the repository that contains the kernel, boot loader, and command interpreter, the one that contains the system init (user mode) and system utilities. There is also the repository with the Assembly and libc development libraries.
Skills: C · Assembly x86 · OSDev
During 2012, motivated to learn more about how a modern operating system works, I started developing a small and simple Linux distribution, choosing to keep a command-line interface. To do this, I followed the steps proposed by the Linux From Scratch project. The result was Netuno OS, an operating system based on the 2.6 series Linux kernel, with standard tools and utilities. There are no sources other than those available in the packages used, so a repository had not been created at the time. What remains of it is a system installation image, approximately 192 MB, dated 2012 and updated in 2014. At the time, I also developed some kernel modules to study the interfaces and use of the /proc directory.
Skills: Linux · C · Shell script · OSDev
PXBAS is a simple BASIC interpreter for MS-DOS, FreeDOS, PX-DOS, PDOS, and compatible systems. It can run on 32-bit versions of Windows.
Skills: C · Assembly x86
My first operating system project developed entirely in x86 Assembly. The system implements a simple file system, called BinFS, based on a linked list of files. The file system is created using a tool developed in C, which creates a disk image. Bin S.O runs in 16-bit real mode and supports the development of utilities using Assembly libraries. The system can be installed on devices to run natively, through an installer running on a Linux LiveCD (Netuno OS).
Skills: Assembly x86 · OSDev
This resume was entirely written by me in Markdown ❤.