Rômulo F. M. Leitão
◇ Job Experience
Philips Digital & Computational Pathology
As part of the Pixel Panthers team my role as a software engineer is to help design, implement and maintain Philips’s Digital Pathology solutions for cancer diagnostics. My daily routine involves collaborating with many teams with cross-domain knowledge, implement low level and optimized code for all kinds of problems and improve existing products and standards. Our code deals with a large amount of data that needs to be processed in semi real time scenarios, which requires heavy use of aggressive optimizations, well thought designs and testing.
- Support and maintenance of internal products used in clinical trials.
- Helped push improvements on code quality and code standards used within the department.
- Optimization and cleanups of build and test systems (scons, PowerShell scripts, Jenkins, Docker).
Centro de Sensoriamento Remoto (CSR)
CSR is a research laboratory located inside the UFMG university in Brazil. I was one of the developers of the application Dinamica EGO, a freeware high profile platform for environmental modelling. The software allows researchers to write simulation models using a visual programming language. My responsibilities included programming the software, management of a small team of software engineers and interns and cooperating with another senior engineer overseas. To develop Dinamica EGO, we used technologies like: C++ on backend and performance critical code; Java on frontend; Hg and Git (DVCS); PHP for server scripting and REST API’s; MySQL for server data; Python for scripting and Updater software and Shell scripting for our utilities.
- Designed and developed the architecture and C++ framework for executing code on heterogeneous platforms with single-source integration in an operational system and vendor agnostic way (Master’s degree work).
- GNU/Linux and macOS versions of Dinamica EGO with the same features as the Microsoft Windows version.
- Dinamica EGO Scripting support with Python and R, Auto-Update System (Python) and a new Image Viewer (Java).
- Updated Dinamica EGO graphical interface to use modern standards, a better UI/UX and documentation.
- Trained interns.
- Offered local and remote support to our users.
◇ Freelancing Experience
Lead Software Engineer at Movi Criativo
Movi criativo is an interactive design company located in Belo Horizonte, Brazil. I was hired by them in 2018 to lead the development of the project Expo Paracatu 2018, an interactive display screen showing one of Movi clients company history through a series of animated bubbles with physics interactions.
- Developed the entire display system in vvvv, with Microsoft Kinect integration (with custom plugins programmed in C# for physics and object interactions) using company existing software (saving them thousands of dollars);
- Responsible for remote installation, testing and debugging.
2017, 2018 and 2019
Consultant at Equilibrio Ambiental
Worked as a consultant to help identify issues and suggest improvements on government biddings that the company participated. The company works with hydroelectric and environmental data and my main contribution was to develop an online map system for viewing and producing statistical tools for their data.
- Developed a system for viewing and producing statistical results for collected field environmental data which saved the company about 20,000 USD from buying the software elsewhere. I also offer support for this software.
- Helped the company enter public sector biddings by offering them computer science advice and consulting.
- Leitão, Rômulo Fernandes Machado, et al. "Improving usability on GIS modeling with two new tools in Dinamica EGO." Simpósio Brasileiro de Sensoriamento Remoto, Foz do Iguaçu. SBSR-Simpósio Brasileiro de Sensoriamento Remoto 1 (2013).
- Oliveira, Ubirajara, et al. "BioDinamica: a toolkit for analyses of biodiversity and biogeography on the Dinamica-EGO modelling platform." PeerJ 7 (2019): e7213.
◇ Technical Skills
- Image processing algorithms and techniques for medical and earth sciences
- Graphics programming for game development and ray/path tracing
- GUI programming using CSS, Qt, GTK+, ImGUI and Java Swing
- Python scripting and integration with C and C++
- Experience (usage, deployment and maintenance) with macOS, GNU/Linux, FreeBSD and MS Windows
- Application porting to different OSes and systems (GNU/Linux, BSD, macOS, videogames, etc)
- Open source development and collaboration including licensing
- Modelling, animation and scripting on Blender
- Rock climber and musician (guitar and bass player)
- C++ 11/14/17
- C 89/99/11
- Python 3.x
- Java JRE 7/8/9
- Microsoft Visual Studio
- Visual Studio Code
- Unreal Engine 4
- Microsoft Teams
- Quake 3 Engine / cgtech3
Master’s degree in Computer Science (UFMG)
The thesis goal was to build a framework to allow heterogeneous computing in Dinamica EGO in a multi-platform, operational system and vendor agnostic way, using single-source integration to boost the software performance. The result was an OpenCL compiler and a runtime library in C++ supporting single source C++ like kernels, automatic memory handling and stencil operations.