Résumé

Fortune 150 (NDA) Senior Software Engineer

Contractor via X-TeamX-Team🇺🇸 JAN-2023 – Today

I played a critical role in the development of a new commercial product built with Next.jsNext.js and Spring BootSpring Boot, then developed internal apps using AngularAngular, ConfluenceConfluence, and FigmaFigma.

  • Supported stakeholders with feature clarification and feedback on planned work.
  • Actively sought opportunities to troubleshoot and resolve production issues.
  • Prevented critical issues from derailing the release schedule.
  • Assisted new engineers to get familiar with the codebase.
  • Pair programmed as needed to help engineers get unblocked with their work.
  • Conducted front-end interviews for prospecting candidates to join the company.
  • Owned and developed key features used in this new application, some of them being planned to be reused in other internal projects.
  • Learned Spring BootSpring Boot and our backend stack to help in cross functional tasks.
  • Used FigmaFigma to develop prototypes for new applications & internal projects.

Fair/Shift.com Senior Software Engineer

Contractor via X-TeamX-Team🇺🇸 MAR-2021 – DEC-2022

Before Shift acquired Fair, I made extensive use of ReactReact & JavaScriptJavaScript to develop consumer facing applications, and played a key role in migrating codebases to TypeScriptTypeScript type-safe code.

  • Worked primarily in a large ReactReact codebase with extensive use of Next.jsNext.js and its server-side utilities.
  • Assisted new engineers to get familiar with the codebase.
  • Migrated existing frontend codebases to TypeScriptTypeScript and removed legacy tech debt, I rewrote entire repositories in this process, managing to rid us of deprecated technologies like React Recompose in favor of React hooks — this was done as an extra initiative without impacting my performance with capitalized work.
  • After Shift acquired Fair, I helped them with the integration of Fair technologies and also in the development of Shift apps using GolangGolang, ReactReact, and TailwindTailwind.

Besides my original Front-end duties I proactively volunteered to work on extra assignments and on projects for other teams.

  • Created automated integrations for generating TypeScriptTypeScript API types from our Ruby/GRPC backend, resulting in increased type safety and improved development experience as this allowed us to catch bugs before running the app.
  • I started initiatives to add E2E testing to our applications using PlaywrightPlaywright, encompassing both frontend-to-backend integrations and service-to-service communication.
    • I wrote ConfluenceConfluence documentation so the rest of the team could contribute in writing these tests.
    • The tests were integrated to our CI pipelines, generating automated reports and capturing video/network recordings that were shared periodically on Slack channels, helping keeping stakeholders informed about product development.

GlobalUnderdog.comExternal URL Senior Software Engineer

🇺🇸 NOV-2020 – MAR-2021

After my success at VoteByMail I was invited to work in one of the volunteer's startup: GlobalUnderdog.comExternal URL where I had the privilege to work in an environment that allowed me to hone my cross functional skills, which paved the way for the habit of developing a mindset that made me proactive by nature.

VoteByMail.io Senior Software Engineer

🇺🇸 MAY-2020 – NOV-2020

We worked on VoteByMail.io in the months leading up to the 2020 US President Election. As such, priorities on which states to support were rapidly changing, with nonprofits (such as the ACLUExternal URL) demanding improvements on one end, and state governments changing vote-by-mail policies on the other.
I made myself constantly available to adapt to these shifting tides.

kWpro Founding Software Architect

🇧🇷 JUN-2019 – APR-2020

I oversaw the entire development of the project, which consisted of IoT boxes powered by Arduino & Raspberry PI that measured electricity 24/7.

  • Backend developed with GolangGolang, with the use of relational databases. There was also some low level C code to read the data from the sensors attached to the Arduino units.
  • Each box had its own DockerDocker image that would update when online. Regardless of being updated, these boxes ran services which allowed users to visit a offline-first version of our SPA (made with ReactReact) in case they lost internet access.
  • The project also had a mobile FlutterFlutter app that aside from supporting existing functionality of the SPA, also helped set up the IoT devices. The development of a mobile app was essential to the project since we wanted to control users' Wi-Fi to ease the process of connecting to kWpro boxes and set them up.

Since it's easy to lose access to reliable internet depending on the region in Brazil, the back-end of the app worked in a multi-tenancy system where each device could remain offline for months and still be able to provide data to nearby phones (by broadcasting their own Wi-Fi network), once back online they would sync the data with our main servers.

  • Every IoT box broadcasted its own Wi-Fi network, the mobile app would scan for these networks on startup. If a valid network were found users would be prompted to follow the installation flow in the app, allowing them to set up kWpro without the need of an electric technician or complicated steps such as cable/wire cutting.
Toggle Table of Contents on/off