Ceará, Brazil
I've been working as a Software Engineer for the last decade and have always been passionate about programming and learning new things. I value teams that move fast and are highly collaborative, working on products we can look back on with pride. I'm not tied to any particular technology. All I want is interesting problems to solve.
As a member of the platform team in a healthcare client, we're building a platform for processing and reporting the results of genetic tests. As we acquire more customers, we must ensure the system scales smoothly to handle our growing load. I participate in almost all the software development lifecycle, from technical design to monitoring/production support. I'm currently focused on infrastructure tech-debt and scale internal LIMS operations. Some recent challenges: - Configured and implemented Celery tasks to decouple long-running requests in a monolith. - Migrated RDS instances to Aurora Serverless v2 to reduce costs. - Worked on legacy RabbitMQ clusters in CloudAMQP to improve maintainability and make them more reliable (e.g., updated RabbitMQ / Erlang, configured metrics and alerts, right-sized cluster resources, fixed client code). - Created alarms and dashboards in NewRelic to help us understand how our services behave under different conditions. Among other non-public results, we've reduced the time it takes to accession an order by 10% and the AWS spend for our team by almost 25%.
As a member of the Routing squad, we've created a cost-effective routing system using a forecasting simulation approach (solving some generalizations of the Vehicle Routing Problem, such as CVRPTW). As a result, we've decreased about 2 hours of logistics planning per day.
The main project I've worked with in ViaVarejo had the goal of refactoring the whole website architecture to decrease the number of transactional requests made to backend services during a shopping journey. For that, we decided to pre-generate pages to take advantage of Akamai's CDN caching, improving the SEO as a side effect. We started with the website's product page (the journey's most accessed page), using NextJS to pre-generate the content and Spring Boot/Kotlin to build a BFF (Backend for Frontend) to optimize access to other services. During this time, I've actively participated in projecting and running several stress tests to ensure the structure would handle traffic during events like Black Friday. As a result, we greatly impacted sales conversion and applied the solution to all website versions (Desktop and mobile). I was also a member of the Marketplace Platform squad, where we were tasked with automating the deployment process and improving the resilience of the entire marketplace. We've worked closely with other teams on building new services and moving the existing ones from the on-premise infrastructure to Azure. During this journey, we've created an internal Kubernetes operator to register services in Netflix Eureka (used by all services) to help with the migration.
As a member of the newly created Mobile Platform squad, we were responsible for building systems, tooling, and releases of mobile apps. In that team, I was focused on provisioning the infrastructure for our CI environment and the tooling around the Android/React Native app. We've worked closely with other squads gathering the main issues and collecting data to propose a better way to solve them. During this process, we've created a caching service (for Gradle/Buck) on the backend side and a CLI to help us provide a better experience for the development teams. In addition, we had the chance to automate the CI environment using Kubernetes, Jenkins (shared libraries), and Bors-ng (submit queue). We also built the monorepo structure (a repository containing all the source code for the apps, including Android/iOS/React Native). As a result, we've improved the release process from 3-day releases to several releases per day (over 10 releases per day for each platform).