EXPERIENCE
Rust development on a Loyalty Program's system
At Arionkoder, I was outstaffed to iSeatz, a software company in the loyalty program business. I was invited to continue the development of a new Rust microservice, using the Axum framework, as well as SQLx for compile-time checked queries and Insta for unit testing.
During this work, I was tasked with implementing the hotel line of business integration in this Rust microservice. This integration required fetching, inserting and updating supplier data into our SQLite (later migrated to Postgres) database, as well as making external endpoint calls to get availability data. Finally, this data had to be transformed into a standardized format for our Frontend team to consume. In many occasions, this required caching relevant pieces of data in between endpoint calls as to keep the request times at a minimum.
I was also tasked with migrating our application's whole database schema from SQLite to Postgres. As we don't use an ORM, this meant I needed to change all non-standard-SQL concepts we were using in SQLite (maingly JSON/JSONB and Full Text Search) into the equivalents of Postgres, while introducing the correct indexes to ensure no significant performance hits were being introduced.
Fullstack development on a Web System for clinic management
At ZarpSystem, I was outstaffed to iClinic, a clinic management software company. I was responsible for developing new features to an existing software, which included Fullstack work with Python & Django (REST API) for the Backend and JavaScript/TypeScript & React for the Frontend.
The development team was guided with the agile approach Scrum, with ceremonies like Dailies and two-week Sprints.
The job also involved requirements gathering with the Product Owner, development of unit tests and CI/CDs. Local development was handled via Docker Containers.
Our team was challenged with decoupling some of the most critical components of the Monolithic system into new Microservices. That included handling user login across different products and replicating and synchronizing required data to ensure the product’s resilience.
EDUCATION
Master of Computer Science
AVG SCORE
93.60%
After graduating in Computer Science, I was invited by a couple of professors to pursue a Master's degree. During this journey, I have:
- Been granted a scholarship by FAPEMIG;
- Given a lecture about the Rust Language and its security features (SECOMP 2022). Documents and Video;
- Enrolled into a professor's internship program, which saw me teaching classes and developing a C library for game development (jogo.h). More about the latter below;
- Given a 4 hour corse on the Rust Language for a class of 30 students (SECOMP 2023), teaching from the basics all the way to advanced features such as monomorphism and polymorphism. Slides in Portuguese;
- Developed an open source software for developing, simulating, plotting and modifying Ordinary Differential Equations (ODEs), written fully in Rust, as part of my thesis (Software & Article);
Bachelor of Computer Science
AVG SCORE
93.35%
During my time at the University, I have:
- Been granted several scolarships for student tutoring and research & development;
- Participated in study groups about Computer vision and Computational Modelling;
- Participated in lectures (SECOMP 2019) about Data Science, Game Development, Web Development;
- Studied Artificial Intelligence, Machine Learning, Bio-Inspired Algorithms, Ranking and Sorting Methods, Optimization, Operational Systems, Computer Architecture, Robotics, Math & Statistics, and many other courses;
- Enrolled into an internship which later led to a job at ZarpSystem;
PROJECTS
Development of scientific softwares for the construction and simulation of mathematical and computational models
During my graduation, I collaborated with a professor in the development of a software that allows researches to construct mathematical and computational models via an intuiditve GUI, simulate in-place, export the results and even generate equivalent Python code.
The software for Cellular Automatas is a Qt desktop application made with C, Pyhton and Cython. The project was funded by FAPEMIG.
During my pursuit of a Master's degree, we've once again partnered to develop a similar software that allows researchers to create and simulate ODEs, written entirely in Rust. The software ships with an ImGui-based interface featuring a node editor. It's capable of generating Python code to simulate equations, is localized in English and Portuguese and is extensible via Python code. Saving and loading data has been handled with Serde.
Development of a library to facilitate game creation in C, jogo.h
During my professor's internship (as part of my Master's), I have been tasked with creating the freshmen students' last assignment. The assingment I came up with involved the development of a game in C, in order to have the students exercise what they learned about control flow statements and data structures.
As C is no easy language and neither are the libraries for developing graphical applications wihth it, I took to myself the task of developing a library that facilitates the creation of games. The library is capable of drawing primitives, rendering static and animated sprites, rendering text, playing sounds and making all complex matrix transformations that OpenGL allows.
Most of those operations usually require pre-loading assets as to not waste the computer's resources, but since the library's main design goal was to be as simple as possible to use and learn, I've applied caching and memoization techniques to minimize boiler-plate code required when using the library.
The library is also fully documented using Doxygen and GitHub Actions for automatically deploying updated versions.
Development of a low-level game engine with a Python interface, the Eel Engine
The project aims to provide a more user-friendly, pythonic and powerful alternative to the popular but outdated PyGame library. As such, the Eel Engine is a modern-interfaced game engine for Python.
The engine is written in C, for performace, and interfaced to Python via the usaged of Cython.
Development of a 3D souls-like game in Godot
As a challenge to myself, I decided to try and make a complete 3D game in the short span of two weeks. The result is an isometric souls-like RPG complete with traps, bosses and loot!
FREELANCING & OTHERS
Development of a leaderboard system to connect users from Steam to Discord
I was tasked with developing a leaderboard system that can connect users from Steam to Discord.
Therefore, I developed a C++ dynamic library (.SO + .DLL) for the GameMaker Studio 2 game to utilize and communicate with an API server made in Express.js, using a MariaDB database to keep the user’s scores. There’s also a Python Discord bot that fetches the data in order to interact with users.
Library & Tools development, Linux porting
Soulchild is an upcoming Metroidvania platformer coming to Windows, MacOS and Linux on Steam developed in GameMaker Studio 2. I’ve contributed towards development by making several libraries and also by porting it to Linux.
Student tutoring on General Programming, Data Structures, Sorting Algorithms and more
Ever since my first academic year until the very last I’ve had scholarships for student tutoring. They’ve arguably made me a better teacher, as well as a better learner