Developer and Scrum Master at Velocix 2022-Current
Developer in VxOA, Velocix Origin Application, which is responsible for ingesting, encrypting/decrypting and sending video assets using various streaming protocols.
I've been working as a developer for over eight years, programming mainly in C++ but also Python, Rust and Java, among others. I also have experience in other technologies, leadership roles and teaching. What I enjoy the most in programming is documenting, writing unit tests, refactoring legacy code and sharing knowledge. My extensive background in Mathematics, Science and Education sometimes comes in handy.
In eight years of formal education and working as a professor, I came in contact with basic scripts and algorithms. Since the beggining, I was interested in multidisciplinarity. My Math skills have helped me a lot in abstracting ideas and generalising results from one area to another. This allowed me to hop between fields until I realised what I liked most was learning different subjects.
I then found my passion, which is developing software. It allows me to learn very diverse things and abstract them into a program. This is also an area which requires constant updating as new technologies come out.
My first job as a developer was for the Brazilian Navy, where I worked for three years on SimMaq, a software that simulates the engine room operation of a ship and is used for training officers of the Mercantile Navy. This project has allowed me to learn a lot about software architecture and development, as well as project management.
Since I started, I developed the control module for the simulator in C++, implemented a test interface to be used with our CI pipeline (also in C++) and coordinated the delivery to the client (presentations to admirals, training of professors who use the software and management of issues/bugs/improvements raised by the client). I have worked in various aspects of the project, using a vast array of technologies, such as Git with GitKraken, GitLab's CI/CD Pipeline, SQL, MatLab, LaTeX and many others.
SimMaq was the first full-mission engine room simulator made with brazilian technology. Information about the project can be found below:
The success of the project attracted the attention of another client, who funded a very similar project. In between projects, I had to opportunity to leave and move to Portugal, where I started working at Natixis on Summit through Altran. The financial area is one I'd been interested in for a long time, so I was very happy with this opportunity.
A very flexible software for everything related to money. The code is by all possible definitions legacy, which is something I love to work with.
I started doing housekeeping scripts in Python to keep test environments up to date and documented automatically. It was a great opportunity to learn a bit about Python, XLDeploy and Confluence.
I also worked on the migration from SunOS to Linux, where I was able to write unit tests for and refactor the C++ code. I also worked a lot on the compilation, which uses pure GNU Make, where I was able to decrease the compilation time from over eight hours to about fourty minutes.
Natixis also gave me the opportunity to be involved in importing its Crafts Academy from Paris to Porto. A few other developers and I had some training sessions with the Paris crafsmanship team, then we started doing sessions in Porto. I was selected to present the first one, which was about Legacy Code. Crafts Academy is a great program, which has already proven to have improved the dissemination of knowledge throughout the company.
In 2020 I started working for BMW through CTW. I worked as a developer in a Scrum team, on a project called TDFNext. It's a C++ test framework with a python wrapper made for testing ECU communication. It can also work as a hardware mock.
After a while, I got the opportunity to kickstart a team in Porto. I worked for some time with a Munich team and then became a Scrum Master for the new Porto team. The project is ASIA, a CI tool responsible mainly for test hardware management and integration with other CI and documentation tools.
I currently work as developer and scrum master in VxOA, Velocix Origin Application, which is responsible for ingesting, encrypting/decrypting and sending video assets using various streaming protocols.
My goal in life is to learn and teach as much as possible. Software development is a field where there are many multi disciplinary projects with a lot different subjects and technologies to learn about. I also work on personal projects when I have the time. I try to use these projects also to come into contact with technologies I have not yet been able to work professionally with, such as other languages, game engines and many interesting libraries and frameworks.
In 2021 I participated in my first game jam, where we had about a week to develop a game using Bevy (Rust). We got third place with our game chaz.
In 2021 I also created a youtube channel to talk about
Experience with architecture, refactoring, tests, documentation and project management on projects using C++, Python, Rust, Java, SQL, Git and many others.
Interest in a lot of subjects and love for multidisciplinarity. Main interests include Programming, Engineering, Math, Physics, Finance, Education, Game design, Music, Video and 3D Modeling.
Interest in many fields of Mathematics and Engineering, including mathematical models for simulation of physical processes. A lot of knowledge aquired from eight years of formal education in these areas.
Critical thinking and problem solving is something I constantly work on and have to deal with in my projects.
Experience with project management through GitLab.
Experience with a lot of different programming languages, softwares and hardware.
As a developer, I've worked with multiple programming languages, softwares and hardware.
Junit, JavaFx, JPA/Hibernate, JNI, JNA
GTest/GMock, Make, CMake, IMake
Postgres
MatLab/Simulink/Simscape, Mathematica, Modelica/OpenModelica, Maple
Rust, Python, Shell, Scala, Fortran, Pascal, Javascript, HTML, CSS, LaTeX
Git, Gitlab/Github, Gitkraken, Jenkins, XL Deploy, Jira
Doctorate Degree in Mechanical Engineering from UERJ/PPGEM in 2016 for the work "A hyperbolic model for saturated-unsaturated trasition simulation in porous media".
Master's Degree in Mechanical Engineering from UERJ/PPGEM in 2014 for the work "A new description of mass tranfer in porous media with saturated-unsaturated transition".
Bachelor's Degree in Mathematics from UERJ/IME in 2012 for the work "Cauchy Stress Tensor".
Developer in VxOA, Velocix Origin Application, which is responsible for ingesting, encrypting/decrypting and sending video assets using various streaming protocols.
Development of software used for testing and quality assurance of BMW embedded software, such as a test framework written in C++ and a CI website with Java backend. After a year or so I also started acting as the Scrum Master for my team. We use technologies such as GTest, Git, SVN, Postgresql, Javascript, HTML, CSS, Docker, Saltstack and Openstack. I also take part in many company activities, mainly the Rust Community of Practice (a group co-created by me to study and talk about Rust, with weekly sessions) and the C++ daily (a 15 min meeting open to the whole company where we talk about anything related to C++).
I worked on a financial software called Summit. The software was written in C++, but there were also many scripts in Python. We used technologies such as GTest, XLDeploy, Git, Jenkins, Bitbucket and Jira. I was also one of the leaders of the Craftsman Academy, a weekly session that consisted of a short presentation followed by mob programming.
Development of a ship's engine room simulator for the Mercantile Navy. Responsible for the control module (C++), mantaining the mathematical models (C++/Fortran) and communication between these components and the graphical interface (Java). Also reponsible for the test module (C++/Java), which uses a .json file to simulate user operations and verifies the outcomes given by the models. It also checked the validity of fxml, xml and the database (Postgres). These tests were run using Gitlab's CI. Modifications on the database (pgSQL), graphical interfaces (JavaFx) and model analysis (xml, Simulink).
Worked for two semesters teaching undergraduate classes in various Calculus courses and a P.D.E. course.
Helped undergraduate and later graduate students on many courses for 4 semesters, mainly undergraduate Calculus and Abstract Algebra and graduate Advanced Calculus and Continuum Mechanics.
Math tutor for middle school and high school.