Software Engineer with 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
At Everystate, our primary challenge was aggregating real estate data from multiple listing services (MLS) into a single API. Managing...
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.
At Virtasant, I was responsible for working on a cashback rewards application, specifically focusing on the payment transactions and n...
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.
In São Paulo, Brazil, I worked on integrating applications with the national financial system. Our main task was to build a robust sys...
In São Paulo, Brazil, I worked on integrating applications with the national financial system. Our main task was to build a robust system to handle cheaper money transactions between our company and other banks. The goal was to ensure efficient and secure transactions while maintaining system reliability and scalability.
To achieve this, we utilized a tech stack that included Nest.js for creating REST APIs, and databases such as MongoDB, SQL Server, and MySQL. Apache Kafka was employed to enqueue all transactions, providing confidence in transaction delivery and allowing us to isolate microservices effectively. The system was composed of four microservices: Payments, responsible for receiving transaction requests and enqueueing them; BacenIntegration, which communicated with the National Bank API; Rejects, which handled transaction cancellations and propagated information to other databases (Firestore, SQL Server, and MySQL); and a microservice to revert transactions when no valid account was found in our database.
We initially faced challenges with Express.js, particularly in terms of code organization. To address this, we switched to Nest.js, an opinionated framework that leverages the full power of TypeScript. This transition helped us maintain a more organized codebase and enhanced our development efficiency.
As a result of these efforts, we successfully built a system that improved transaction processing and reliability, ensuring smoother interactions with the national financial system. The use of Apache Kafka significantly enhanced our confidence in transaction delivery and microservice isolation. Through this experience, I gained valuable insights into integrating financial systems, the advantages of using Nest.js for large projects, and the importance of robust architecture for financial transactions.