Guilherme Souza
Staff Software Engineer
Staff Data Scientist
Angers, France
About
I'm a curious geek interested in how technology works, math daydreamer and boardgame player.
I have 10+ years of experience with software engineering and data science, building performant and resilient systems with code, data and people.
You can check my open source projects in git.sitegui.dev and my personal blog in sitegui.dev.
Experience
Staff Software Engineer
iFood
Apr 2021 - Mar 2026, 5 years
Angers, France
- I've implemented in Python a logistics simulator that serves as a sandbox for testing new algorithms before they go into production
- I've designed, implemented and organized major evolutions of our logistics routing codebases, adapting to new business realities
- I've designed a robust ETL in Python to bring introspection data from our logistic solver to our Databricks datalake
- I've designed and implemented an automatic and robust regression test mechanism to reduce incidents
- I've designed and implemented a performance benchmarking tool, using robust statistics to guide our efforts in this area
- I've designed and implemented an HTTP proxy that can automatically deploy and scale resources on Kubernetes as needed
- I've tutored tens of engineers to work with our Rust and Python codebases
- I've implemented a back end for the simulation platform, allowing automatic execution of the Databricks and Kubernetes steps
- I've implemented a front end for the simulation platform and designed a small language for users to express simulations
- I've implemented a fairness algorithm to dynamically allocate the infrastructure resources for users of the simulation platform
- I've created a flexible pipeline used to produce cartography graph for OSRM mixing OpenStreetMap with our internal data sources
- I've implemented multi-threading in OSRM to handle our large volumetry with reduced latency
- I've implemented a pipeline to compare estimated and executed routes, to tune our routing cartography graphs
- I've led a small team to rewrite our simulation platform from Python to Rust, allowing simulating big metropolis like São Paulo and major performance improvements
- I've researched and designed a platform to allow teams to leverage Flink to calculate live-streaming KPIs
- I've redesigned a complex Python machine learning codebase to allow the team to iterate on new features more freely
Senior Software Engineer
iFood
Jun 2020 - Mar 2021, 10 months
Angers, France
- I've trained a machine learning model in TensorFlow to estimate order delivery and preparation times
- I've deployed the TensorFlow model in production at a high scale using a distributed message-driven backend in Python
- I've rewritten the company's online vehicle-routing logistics solver from Java to Rust, improving orders of magnitude its performance
- I've implemented some foundation libraries in Rust to integrate our services with cloud services and telemetry
- I've implemented in Rust a fast Hungarian matching algorithm described in an academic paper
Senior Software Engineer
Maplink / Optilogistics
Jan 2018 - May 2020, 2 years 5 months
Angers, France
- I've developed a public REST API so that third-party companies could integrate our services with theirs
- I've improved our logistics optimization algorithm in collaboration with an operational research team in France
- I've developed tooling to explore and visualize complex logistic temporal data
- I've implemented internal tools to monitor servers, collect logs and send alarms
- I've measured the load capacity of our servers and prepared them for increased demand
- I've internationalized our products offered as web apps
Software Engineer
Clube da Entrega
Jan 2016 - Dec 2017, 2 years
Campinas, Brazil
- Collect concrete data to guide our decisions as a company
- Develop a new version of the route optimisation algorithm that accepts several highly flexible configurations
- Use machine learning to predict delivery times for consumer orders
- Prepare the server structure for new web projects
- Create a system to monitor the performance and errors of our code, enabling us to take preventive action
- Process and send our data to a BI platform (Zoho Reports)
Intern Full Stack Developer
Clube da Entrega
Jan 2015 - Dec 2015, 1 year
Campinas, Brazil
- Modernize the entire code base from PHP to Node.js
- Create automatic tests for the API
- Implement the backend of an iOS and Android application for ordering products from McCafé
Knowledge Coordinator (volunteer)
FEJESP (Federação das Empresas Juniores do Estado de São Paulo)
Jan 2013 - Dec 2013, 1 year
Campinas, Brazil
Education
Deep Reinforcement Learning
Udacity
Jul 2019 - Dec 2019, 6 months
Artificial Intelligence Nanodegree
Udacity
Sep 2018 - Feb 2019, 6 months
Universidade Estadual de Campinas
Bachelor's degree, Mechatronics Engineer
Jan 2011 - Dec 2016, 6 years
Cryptography
Coursera
May 2014 - Jun 2014, 2 months
Skills
Main programming languages
Rust, Python, TypeScript, Java
Other languages
SQL, JavaScript, Go, PHP
Software performance
Concurrency, threading, memory layout
Distributed systems
Architecture, monitoring
Software engineering
Technical writing, communication, CI/CD
Operational research
Vehicle routing problem, graph search
Machine Learning
Supervised, clustering, probabilistic models
Data Architecture
Datalake, Spark
Cloud Computing
AWS, Kubernetes, Linux
Languages
Portuguese
Native
English
Fluent (C1)
French
Fluent (C1)
German
Basic (B1)