Bachelor in Software Engineering and Masters in Computer Science at the University of São Paulo. I have worked with different technologies along my professional and academic career, being most passionate about Operating Systems (OSes). I also volunteer to the Free/Libre and Open Source Software (FLOSS) community.
Autonomous Linux Kernel Contributor (Since January 2018, São Paulo, Brazil)
I upstreamed over 30 commits to the Linux Kernel mainline, across different parts of the project: Context Switch (Core), Virtual Kernel Mode-Setting (DRM), and IIO. I have also contributed to related projects such as IGT GPU Tools (IGT) and Debian.
Intern at Xorg Foundation Working on DRM, Google Summer of Code (GSoC) (April 2018 – September 2018 – São Paulo, Brazil (Remotely)
I worked (with another student) to develop a software-only Kernel Mode-Setting driver module that is useful for testing, debugging, benchmarking, and running compositors on headless machines while still leaving the machine’s GPU free for other tasks (more details at GSOC-Final-Report. During the project, I had to acquire a significant body of knowledge in how the Linux graphics stack works.
Into the Unknown: A Journey Through Science Fiction, Freelancer Developer (November 2016 – April 2017 – São Paulo, Brazil)
Into the Unknown was an exhibition that happened in London and was organized by Barbican. The team I was part of had to develop two applications: one in C++ using SDL framework targeted for managing user access to different games on a desktop; and one in Java for a music player targeted at Android tablets. Both applications lock down the machine to prevent unwanted access from users. I worked with one developer and a tester.
Brazilian Public Software (SPB) Platform, Developer and Technical Leader (July 2014 – December 2015 – Brasília, Brazil)
SPB is a Collaborative Developing Environment that aims at reducing government costs with software contracts. It was a partnership between the Brazilian Ministry of Budget and the University of Brasília. During the project, I programmed mostly with Python and Ruby, and actively acted both on creating the DevOps team and as the technical liaison with other teams.
Intern at Samsung, Android Developer (2014 – Suwon-si, South Korea)
I was given the task of developing an Android app from scratch (details are omitted due to a NDA). The main idea of the application was paper drafted so that no time with wrong requirements was wasted. Next came the entity-relationship structure of the database alongside with the architecture. I focused on creating a robust architecture, made possible by the use of the pertinent design patterns learned at school. At the end of the internship, I had to present the project for many engineers from other teams for evaluation.
Web Developerat at AEG (September 2011 – July 2012, Brasilia, Brazil)
AEG is a small company, which provides business consultancy to other businesses. When I worked for AEG, they needed a web system for handling their client’s complaints and suggestions. In this sense, I was designated to create software for managing their requests. Firstly, I understood the requirements and then designed the architecture. I have created the system which uses MySQL 4.0, PHP 4.3, and running under Apache 2.3.
January 2016–February 2019, University of São Paulo (USP) - M.S. in Computer Science, São Paulo, Brazil
My research area focuses on Operating Systems. It all began with a partnership project with Hewlett Packard (HP), wherein I was involved with the study of new memory management techniques for high density memories. I evaluated the behavior of one specific algorithm implemented by HP, using Apache HTTPD in benchmarks as study case. From this specific algorithm, the research was expanded to a discussion of new OS process abstractions with the goal of assisting in the definition of the next standard generation of OS process management.
March 2009 – July 2015, University of Brasília, B.S. in Software Engineering with Major in Electronics, Brasília, Brazil
The course is a five-year program that covers classes ranging from hands-on programming to requirement analysis and project management. During my Bachelor course I took extra classes in digital systems and low-level programming, hence the major in electronics. I joined the embedded systems laboratory and worked with Samsung S3C2440 board in a bare metal environment to build a telemetry system.
July 2013 – July 2014, Sungkyunkwan University (SKKU), Exchange Student in Computer Engineering, South Korea, Suwon
I decided to pursue an exchange period of studies in South Korea due to the Country’s excellence in embedded systems and to my interest in working as intern at Samsung Digital City. I focused on low-level programming and OS. Additionally, I improved my English and began to learn the elementary level of the Korean language. I joined the automation laboratory, managed by professor Jae Wook Jeon, to learn about GPUs in embedded systems.
Publications (as author or co-author)
- Continuous Delivery: Building Trust in a Large-scale, Complex Government Organization (IEEE Software’18)
- Brazilian Public Software Portal: an integrated platform for collaborative development (OpenSym ‘17)
- Optimizing a Boundary Elements Method for Stationary Elastodynamic Problems implementation with GPUs (WSCAD’17)
- FLOSS Project Management in Government-Academia Collaboration (OSS’18)
- Leading successful government-academia collaboration using FLOSS and agile values (JSS) – under review
- The Next-Generation OS Process Abstraction (IEEE Computer) – to be submitted
- XDC 2018: VKMS
- Linuxdev-br 2018 (in Portuguese): Da linuxdev-br ao GSoC: Displays Virtuais no Kernel