Paulo Freitas

Passionate Software Engineering Leader with strong problem-solving skills, creative mindset, and endless pursuit for excellence with over 20 years of experience.

Employment History

Anheuser Busch InBev, Orlando, FL - United States

Jan 2021 — Present

Global Director of Software Engineering

Jan 2022 — Present

Soon after I joined the Browse team, my scope grew to encompass the user journey from finding the product, adding to the cart, proceeding to checkout, and order tracking and history. That means nearly 200 people in mobile and backend teams on Shopping Experience.

Global Engineering Manager

Jan 2021 — Jan 2022

I first joined ABInBev as the Engineering Manager of the mobile team that develops the customer support functionality on an e-commerce application. This application has more than 3 million monthly active users transacting near to 30 billion USD per year across 20 countries. After six months in customer support, I moved to the Browse team. There I was responsible for three mobile teams summing up 30 people.

Halter, Auckland - New Zealand

May 2019 — Dez 2020

Senior Software Developer

Halter is an Agritech startup company aiming to disrupt how dairy farms work by fitting a smart collar on cows. This smart collar can shift cows across the farm, or hold them to a specific area by using cues like vibration and sound while collecting important data that allows a deep understanding of cow behaviors. Using data science models it's possible to detect when a cow is grazing, sick, on heat, and more. With all of this Halter can reduce farming costs and optimize its efficiency.

As a Senior Software Engineer, I'm responsible for:

  • Designing and implementing backend systems that are reliable, robust, and scalable. To achieve such requirements, we leverage on event-driven, distributed microservices written in Java and Typescript (Node.js). We heavily rely on AWS managed services such as ECS, Kinesis, SNS, SQS, Lambda, Aurora, and DynamoDB to name a few.
  • Observing and inspecting production systems and come up with insights on how to improve performance, reliability, or simply catch and fix bugs.
  • Keeping a high bar on the quality of our codebase. Given the high complexity nature of problems we are solving at Halter, I'm required to utilize decision-making and problem-solving skills, work with strong attention to details, and push for excellence, while remaining an open-minded and humble member of a great team.

Highlighted projects and results:

  • I had an important role in designing, implementing, and shipping to production extremely critical systems like virtual fencing manager (break-fence-service), backend vs collar state conciliation system (cowtroller-service), pasture management (pasture-service), and multicast communication over LoRa. These systems are the backbone of Halter operation.
  • I was responsible for design and implement a collar monitoring framework based on Kinesis Applications (Apache Flink)

iFood, Campinas, Sao Paulo - Brazil

November 2017 — April 2019

Software Development Specialist

iFood is the biggest food delivery app in Latin America, delivering around 20 million orders a month at that time. As a Software Development Specialist at Billing/Payout team, I was responsible for:

  • Design and implement scalable and highly reliable backend systems, able to process around 20 million orders, representing R$ 3B for 60k restaurants; and R$ 40M for around 80k drivers. Always important to notice how critical reliability is when dealing with this volume of money and the impact it can cause in people's lives. To reliably attend to this volume, we built a set of Java, Spring Boot microservices, backed by Postgres and Redis running on AWS EC2 instances. Simplicity is one key aspect we had in mind that's worth mentioning.
  • Discover, understand, and specify business requirements.
  • Maintain and prioritize both product and sprint backlog.
  • Maintain a good relationship between the software development team and client areas such as financial and customer support team.

In an incredibly fast-growing environment, as a leader, I was challenged to help the team to solve problems and deliver value with speed while keeping reliability intact given the high volume of money these systems processes.

  • I had a role as leader of D+7 Project. The goal of this project was to make the payout for online orders in 7 days after the transaction date, instead of fortnightly. The team was able to reinvent the way financial workflow and systems worked, to make daily payouts instead of twice a month. The final result was beneficial for iFood, which increased revenue with online orders by 2.5%, and for restaurants that saw a better cash flow. Also worth mentioning that the team was able to sell this product to over 10k restaurants with no sales team, only by using digital marketing. At iFood this was never done before and was noticed by high management.
  • I had a role as leader of the team that recreated the billing and payout systems in order to support an ever-growing demand and new regulations regarding financial operations in marketplaces like iFood. This was a very complex, and also vital project where the team was challenged to meet an aggressive deadline to deliver systems compliant with the new regulation otherwise iFood wouldn't be able to continue its online payment operation, which represents more than 60% of revenue.

Synchro Solução Fiscal, Campinas, Sao Paulo - Brazil

May 2011 — December 2017

Software Development Manager

February 2016 — December 2017

Synchro is the biggest national provider of tax compliance systems with big multinational companies in its portfolio.

From February 2016 until I left the company in December 2017, I took a role as manager of the platform development team. Even though the cloud environment is the way to go for many companies these days, there are still many companies unable or unwilling to make the move to the cloud. Especially when it comes to sensitive data such as accounting, financial transactions, and all tax-related data Synchro systems require as input. Because of that, development teams were required to support a variety of environments once each customer had a different set of applications and database server providers.

In front of this, I envisioned a solution and was given the responsibility of leading a team to build a platform that would replicate a cloud environment on any on-premises server.

To accomplish this, we packed a container scheduler into a Linux package and built a set of abstractions and managed services commonly used across all products, such as application configuration, message queue service, cache service, authentication service, batch processing service, data visualization, and more. With this platform as a base, product development teams could rely on well-defined interfaces and predictable runtime both on-premises and on Synchro's private cloud.

This platform reduced development, maintenance, installation, and support costs, in addition to reducing customer cost with application and database servers license.

Software Architect

April 2014 — February 2016

During this period I had a role as Software Architect on the development components team. This team goal was to develop and maintain a set o reusable components to speed up product development. Examples of components we developed are: a set of UI components, user authentication and authorization framework, automated test framework, batch job execution runtime, and others.

As part of this team, I was responsible for:

  • Design and implement components and frameworks to speed up and reduce the costs of product development.
  • Mentor and help other team members to grow.
  • Research on critical threads aiming to advance our technology platform.
  • Keep the quality of the codebase.
  • Pair programming sessions on critical threads
  • Support product developers on how to use these components.
  • Understand and identify possible opportunities for component-based solutions to product development requirements and demands.

In order to accomplish my responsibilities, I had to develop my skills not only technically but as a leader. I developed my communication, empathy, inspiration, and negotiation skills.

Software Developer

May 2011 — April 2014

During this period I was part of the Component Development Team. This team goal was to develop and maintain a set o reusable components to speed up product development. Examples of components we developed are: a set of UI components, user authentication and authorization framework, automated test framework, batch job execution runtime, and others.

As a Software Developer, my responsibilities were:

  • Develop and maintain a set of reusable components implemented in Java, running on enterprise application servers both on cloud and on-premises.
  • Keep the quality of the codebase.
  • Pair programming sessions on critical threads
  • Support product developers on how to use these components.

Progonos Desenvolvimento de Software, Campinas, Sao Paulo - Brazil

December 2006 — May 2011

Software Developer

As Software Developer at Progonos I worked on Java Enterprise systems for insurance companies. These systems followed a Java EE architecture meaning EJB 2.1, Struts, and Hibernate, backed by an Informix database running on IBM Websphere Application Server. On another project, I was part of a team that developed a telecommunications management system based on Eclipse RPC.

Porcelana Panger, Pedreira, Sao Paulo - Brazil

December 2004 — December 2006

Software Developer

At Panger I was the sole developer hired to migrate an ERP system from Clipper to Java. Over the course of one year, I managed to write from scratch and put into production an ERP system for a porcelain manufacture business.

To accomplish this, I learned how to build a multi-user Java Swing application connected to a MySQL database. Besides that, I worked together with a business expert to collect use cases and business rules so I could implement them into the system.

Freelance, Amparo, Sao Paulo - Brazil

January 2002 — November 2004

Website Developer

Freelance website development based on Linux, Apache, MySQL, and PHP.

Education

Computer Science Bachelor's Degree, Faculdade de Jaguariuna, Sao Paulo - Brazil

2005 — 2009

Courses

Multilabel text classification: multiple contexts in NLP, Alura

September 2020

Personal or Open Source Projects

Weezr, https://www.weezr.me

September 2018 — October 2020

As an affectionate listener of podcasts, I decided I need a better way of finding good podcasts to listen to. To solve this, I put together a podcast crawler to build a database I could use to explore and build a recommendation system focused primarily on the episode rather than the show.

Weezr is made possible by a set of GO microservices running on Kubernetes cluster, backed by PostgresSQL, Redis and Elasticsearch. The recommendation engine is essentially a multilabel text classification algorithm implemented in Python, pandas, and scikit-learn.

Weego, https://github.com/pffreitas/weego

September 2018 — October 2020

Weego is an application framework for GO. Find more at https://github.com/pffreitas/weego

Details

Orlando, FL, +1 (689) 257 6201

pfreitas1@gmail.com

Links

Github

Medium

Skills

Java

SQL

Git

Node.js

Typescript

AWS

GO

React.js

Kubernetes

Languages

Portuguese

English

Spanish