Personal details

Tales M. - Remote full-stack developer

Tales M.

Based in: 🇧🇷 Brazil
Timezone: Brasilia (UTC-3)

Technical skills

About

Software Engineer with more than 10 years of experience, focused on backend using Node.js. I am experience in several programming languages like Java and Ruby. I have AWS background as well as frontend. Excperience creating reliable API's and maintaining databases

Work Experience

Senior Software Engineer
Everystate | Jan 2023 - Oct 2024
SQL
Node.js
PostgreSQL
Docker
JavaScript
Terraform
Svelte
SvelteKit

At Everystate, our primary challenge was aggregating real estate data from multiple listing services (MLS) into a single API. Managing and updating approximately 700GB of data with minimal latency was crucial to ensuring accuracy and reliability for our clients. My main goal was to maintain and optimize this API, ensuring it could efficiently handle large volumes of data and keeping our documentation updated. Additionally, I aimed to create tools to improve data quality and streamline our processes.

To achieve these objectives, I utilized Node.js and pure JavaScript to develop and enhance backend functionalities. I integrated several MLS APIs into a unified interface, focusing on minimizing latency and ensuring rapid data updates. I also developed CLI tools to aid in data validation and quality assurance, and consistently kept all technical documentation current.


Through this role, I gained deep expertise in handling large-scale data integration and management, learned the importance of maintaining comprehensive and up-to-date documentation, and improved my skills in developing tools that enhance data quality and operational efficiency.

Senior Software Engineer
Virtasant | Feb 2021 - Jan 2023
Node.js
PostgreSQL
Amazon S3
TypeScript
React
AWS Lambda
Serverless
AWS

At Virtasant, I was responsible for working on a cashback rewards application, specifically focusing on the payment transactions and numerous asynchronous processes. The primary challenge was to ensure smooth and reliable payment processing within the application, which required handling various asynchronous tasks efficiently. My goal was to maintain and optimize the backend systems to ensure seamless user experiences.

To achieve this, I utilized a tech stack that included Node.js, TypeScript, AWS Lambda, PostgreSQL, DynamoDB, AWS SQS, and AWS S3. I developed and maintained backend functionalities, ensuring that the payment transactions were processed accurately and efficiently. I also implemented several asynchronous processes to handle various tasks in the background, leveraging AWS services to ensure scalability and reliability. My efforts included optimizing database interactions, streamlining workflows, and ensuring the system could handle high volumes of transactions without compromising performance.

As a result of my work, the application experienced improved transaction processing times and increased reliability, contributing to a better user experience. The enhancements I implemented led to more efficient payment handling and reduced system downtime. Through this experience, I gained a deeper understanding of asynchronous processing, improved my skills in using AWS services, and learned the importance of robust system architecture in handling high-volume transactions.

Projects

Diárias
2018
Java
Angular
Java EE
JPA Hibernate
This system has been built to manage travel expenses solicitations for the whole court. The Backend was develop using Domain Driven Design with Java ee, Hibernate, Jax RS, Velocity, etc. The front end was built using AngularJs and AngularMaterial. The front end has some pages to handle the solicitation's process, some administration pages and the page to create the solicitation. The page to create the solicitation was the most difficult one. The input to calculete the solicitation envolves: Person( who will receive the money back), the route where the people will or went, the posistion of the person, check if the travel is a Team travel, if there is a Judge in the team, the price should be calculated using the judge expenses values. Furthermore, the calculations should handle another solicitation, for example: solicitation 1: There is a Judge, from day 01/09 to 05/09; Solicitation 2: There are employees who are not judges, from 01/09 to 10/09. The system had to understand that the judge was going junbt in some days and make the right calculation. All of this had to be calculated after each input change. be saved and retrieved always that were necessary.
Fantasy Game
2022
Node.js
PostgreSQL
TypeScript
GORM
Queues
React Native
GraphQL
Serverless
Go
AWS
Users can create their games by selecting fixtures that are goin to happen on the next weeks. Another users can register by this games by guessing each fixture result. The most significant part of our apis are a graphql api on a AWS API gateway. Most of them writen in node.js lambda funcitons. After a while, I was not satisfied on using node.js to calculate all the needed score to he Application. User score, fixture score, rankings, also some other parts that demanded more processment and less IO. So I started to use golang by creating some services that could listen to SQS queues and do the proper populations and calculations, then storeing those on a postgresq database

Education

UFG
Bachelor's degree・Computer Engineering
Mar 2009 - Jul 2017

Certifications & Awards

AWS Practitioner
AWS | Oct 2021