CaRMS
Senior Software Engineer
- Java
- Spring Boot
- Spring Security
- AWS Cognito
- OAuth2/OIDC
- ReactJS
- Oracle
- WebLogic
- AWS
CaRMS
Senior Software Engineer
- Java
- Spring Boot
- Spring Security
- AWS Cognito
- OAuth2/OIDC
- ReactJS
- Oracle
- WebLogic
- AWS
About the company
CaRMS is a national, independent, not-for-profit organization that provides application and matching services for Canada’s medical education community. Its platform supports medical students, residents, faculties, and programs through a fair and transparent matching process for postgraduate medical training across Canada.
Key Impact
One strong example from my recent work at CaRMS was the authentication modernization initiative. CaRMS supports the national medical residency matching process for recent medical graduates, so security is very important. I helped design and migrate the authentication layer of the system, taking ownership of architectural discovery around AWS Cognito and modern OAuth2/OIDC flows. I researched Cognito, evaluated compatible integration patterns, built proof of concepts, documented trade-offs, and presented options to the technical lead. Those POCs helped the team choose a design that fit the system’s needs and reduced uncertainty before implementation.
What I did
- Designed and implemented authentication and SSO solutions using AWS Cognito, Spring Authorization Server, OAuth2/OIDC, JWT, and secure session patterns across modern and legacy platforms.
- Contributed to legacy modernization initiatives by integrating Java/Spring applications, ReactJS frontends, and cloud-based authentication flows.
- Built proof-of-concepts and technical documentation for gateway, BFF, Cognito integration, token exchange, and session-to-token migration strategies.
- Supported enterprise Java systems using Spring, WebLogic, Oracle, JSF, and AWS services while collaborating on architectural trade-offs and implementation planning.
ThinkOn
Software Engineer
- Java 17
- Spring
- Jersey
- MySQL
- RabbitMQ
- Maven
- GitLab
- ReactJS
ThinkOn
Software Engineer
- Java 17
- Spring
- Jersey
- MySQL
- RabbitMQ
- Maven
- GitLab
- ReactJS
About the company
ThinkOn is a Canadian cloud service provider focused on helping organizations protect, manage, and recover their data through secure cloud services. The company provides solutions such as Infrastructure-as-a-Service, Backup-as-a-Service, Disaster-Recovery-as-a-Service, data protection, and sovereign cloud services for businesses and public-sector organizations.
Key Impact
At ThinkOn, I worked on a payment integration project for a multi-tenant platform. The company was introducing a self-payment feature because payments were previously handled separately by the finance team. Stripe was selected as the payment provider, and I was responsible for developing the payment integration service. I learned the Stripe API, mapped the integration around their payment flows, and created a reusable architecture following SOLID principles. The core flow handled logging, database persistence before and after execution, and delegated endpoint-specific behavior to each implementation. This made it easier to add new payment-related services without duplicating boilerplate, while keeping the architecture cleaner, easier to extend, and easier to troubleshoot.
What I did
- Designed and implemented a reusable Proxy API for historical logging across Jersey and Spring-based services.
- Built queue-driven Stripe payment integrations using RabbitMQ and clean service boundaries.
- Created an annotation-based permission model, replacing duplicated endpoint authorization checks.
- Standardized exception handling and logging for third-party integrations, improving troubleshooting and maintainability.
Iteris
NodeJS Engineer - Authvia
- Node.js 14
- GitLab
- Atlassian
- REST APIs
- AWS
Iteris
NodeJS Engineer - Authvia
- Node.js 14
- GitLab
- Atlassian
- REST APIs
- AWS
About the company
Iteris Consultoria e Software was a Brazilian technology consulting company based in Sao Paulo, focused on digital transformation, software development, business solutions, APIs, cloud, analytics, and enterprise systems. The company worked with clients across different industries to build and modernize digital products and business platforms. Iteris later became part of Globant, a global digital and technology services company.
Key Impact
At Iteris, one of my key contributions was stepping into projects that required me to quickly adapt to technologies outside my main background, especially Node.js with TypeScript in a serverless AWS environment. I worked with Authvia, a California-based client, contributing to backend services and API workflows in a cloud-native architecture. This experience strengthened my ability to learn new stacks quickly, work across different engineering environments, and deliver reliable backend functionality under client expectations. Beyond implementation, I also supported interns and junior developers by mentoring them on object-oriented programming concepts with Java, helping improve their technical foundation and confidence as developers.
What I did
- Migrated transaction storage from AWS S3 to DynamoDB in a serverless Node.js architecture.
- Developed TypeScript REST endpoints using object-oriented design and API best practices.
- Built Jest unit tests under an 85% coverage requirement and Postman integration tests for API workflows.
Indra Company
Java Engineer - Telefonica Brazil
- Java
- Neo4j-OGM
- Spring
- Neo4j
- SOAP
- REST APIs
Indra Company
Java Engineer - Telefonica Brazil
- Java
- Neo4j-OGM
- Spring
- Neo4j
- SOAP
- REST APIs
About the company
Indra Group is a Spanish multinational technology and consulting company focused on advanced digital technologies, defence, aerospace, air traffic management, mobility, and IT services. Through its technology solutions and consulting work, the company supports complex, mission-critical operations for clients in both public and private sectors around the world.
Key Impact
At Indra, one of my key contributions was working with Telefonica Brazil on initiatives that combined technical discovery and delivery ownership. On the technical side, I built proof-of-concepts to evaluate the feasibility of using Neo4j, a graph database, to model and explore telecom network relationships. This helped the team assess whether graph-based data modeling could support more complex network visibility and analysis use cases. I was also assigned to a network traffic monitoring project where I took on broader delivery responsibilities beyond implementation. I helped lead a small development team, aligned scope and budget expectations with Telefonica stakeholders, broke work into deliverable tasks, and estimated story points to support planning and cost visibility. This was an important step in my career because it challenged me to move beyond individual development work and take more ownership of technical delivery, team coordination, and client communication.
What I did
- Developed a Neo4j proof of concept to model and visualize telecom network relationships, assessing feasibility for broader adoption.
- Implemented REST/SOAP endpoints aligned with TM Forum standards for telecom service integrations.
- Led delivery activities for a network traffic monitoring project, including sprint planning, task breakdown, and coordination with Telefonica stakeholders.
A.C. Paz Construction Inc
Software Engineer
- Java 8
- Spring
- JPA/Hibernate
- MySQL
- JSP
- jQuery
- AWS S3
- Docker
A.C. Paz Construction Inc
Software Engineer
- Java 8
- Spring
- JPA/Hibernate
- MySQL
- JSP
- jQuery
- AWS S3
- Docker
About the company
A.C. Paz Construction is a construction company in Toronto that invested in technology to support its growing operational needs. The company’s internal software focused on managing field projects, payments, employee timesheets, purchase orders, and worker shift scheduling.
Key Impact
At A.C. Paz, one of my key contributions was helping move operational workflows away from manual spreadsheets and into software-backed processes used by field teams. I worked on systems that connected office operations with construction sites, including mobile time tracking, geolocation, field photo uploads, and service endpoints for mobile applications. This work helped improve visibility over employee activity, reduce manual tracking effort, and make field operations easier to manage as the company grew.
What I did
- Developed a mobile-enabled time tracking feature that allowed employees to clock in and out directly from construction sites using Google APIs for geolocation.
- Adapted a monolithic Java/JSP web system to expose service endpoints for a mobile app, including OAuth2 support with Spring Security.
- Built a photo upload module for completed construction work using AWS S3 and the AWS Java SDK.
- Resolved cross-device image orientation issues where uploaded photos appeared rotated or upside down depending on the source device.
- Supported deployments for a Java-based system hosted on AWS using Docker.
Unimed Fortaleza
Java Engineer
- Java
- Java Swing
- JSF
- Jira
- SVN
- Archiva
- SOAP
- SSO
Unimed Fortaleza
Java Engineer
- Java
- Java Swing
- JSF
- Jira
- SVN
- Archiva
- SOAP
- SSO
About the company
Unimed Fortaleza is a Brazilian healthcare cooperative and health insurance provider based in Fortaleza, Ceara. The organization offers health plans, medical services, hospital care, clinics, laboratories, preventive medicine programs, and digital services for customers and healthcare providers.
Key Impact
One of my key contributions at Unimed Fortaleza was building an internal release automation system for a complex modular enterprise platform. The environment had strong dependencies between modules, a relatively large engineering team, and an Oracle database where a significant amount of business logic lived, making release preparation difficult to version and coordinate. At the time, much of the build and release process was handled manually by the release team, which meant preparing a biweekly delivery could take up to a full week before the release date. I was responsible for creating a tool that integrated Jira, Hudson, SVN, and other internal systems to automate and centralize release preparation activities. The solution helped the team manage release scope, coordinate build activities, reduce manual work, and improve delivery predictability. As a result, the release preparation process was reduced from around one week to approximately one day.
What I did
- Designed and implemented a payment allocation feature for the financial team, distributing invoice amounts across banks based on predefined percentage rules.
- Applied the knapsack algorithm to keep assigned payment amounts closely aligned with each bank distribution target.
- Developed a Java Swing application integrating SVN, Jira, and Archiva through web services to automate the release process.
- Reduced the release cycle from two weeks to two days by automating ticket creation, SVN permission management, and pipeline initiation.
- Contributed to the design and implementation of a Single Sign-On system, migrating legacy permissions into a new authentication framework.