Experience
-
Staff Software Engineer
TransferGo
Leading new-domain build-out within the Acquire team, alongside cross-cutting platform initiatives.
Leading new-domain build-out within the Acquire team, alongside cross-cutting platform initiatives.
- Led the initial build of the Receiver Bounded Context — foundational entities, filter framework, Availability model, first service-to-service endpoints, and early integration / system test infrastructure — handing later iterations to other owners.
- Scaffolded and built out a new greenfield Promotions Bounded Context: aggregate root, targeting-settings entity, coupon lifecycle (entities plus availability / usage / creation services), assignment domain (entities, events, contracts, processor), and a route-aware coupon provider.
- Progressively retired legacy recipient APIs in favour of Bounded-Context-owned endpoints across factories, batch flows, and internal tooling.
- Designed and shipped a company-wide PHP HTTP client library — factory-based composition, trait-driven reuse, JWT-enforced request factories, Symfony autowiring — and drove its adoption across two services.
- Led the rollout of AsyncAPI as the team's contract-first documentation standard: pre-commit schema validation, contract tests aligning entity serialization with published schemas, and a written review process for downstream consumers.
- Drove the Acquire team's contribution to a cross-service data-retention programme spanning three services.
- Introduced AI-assisted development tooling on the team: agent context files, structured command workflows, PRD / Plan separation, and pre-planning analysis skills.
- Recurring reliability work: optimistic locking, integrity-constraint handling, race-condition fixes on duplicate-check inserts, N+1 remediation, DLQ investigation, worker graceful-shutdown behaviour.
- Continued stewardship of Refer-a-Friend in parallel: legacy-pattern cleanup, PHP version upgrade, dependency automation, systematic feature-toggle removal.
-
Staff Software Engineer
TransferGo
Continuing to lead Refer-a-Friend within the Acquire team, with expanded scope across platform and cross-service concerns.
Continuing to lead Refer-a-Friend within the Acquire team, with expanded scope across platform and cross-service concerns.
- Hardened the RAF Bounded Context and its data model to the point where a later service-extraction effort - executed by another engineer - completed in a couple of days with no production incidents.
- Executed large-scale datastore refactorings aligned to the new service boundaries, improving query performance and long-term maintainability.
- Raised observability coverage for RAF with dedicated metrics, alerting, and dashboards, shortening time-to-detect for production issues.
- Contributed a company-wide shared library for exception handling and HTTP client behavior, later adopted across multiple services.
- Authored the RFC defining the Receivers domain model, shaping cross-team integration patterns for downstream consumers.
- Delivered a range of product and platform improvements: RAF link redirects, campaign assignment after identity-provider events, related-profile and related-friend checks, program-currency adaptation, reward-total corrections, and campaign-recalculation refinements.
- Improved BAU onboarding and marketing-consent flows in collaboration with the Trust & Regulatory workstream.
- Ongoing developer-experience work: shared enums, queue ergonomics, and integration improvements around favorite corridors and transaction data.
-
Remote Backend Web Developer
TransferGo
Part of the Acquire team, leading the rewrite of the Refer-a-Friend platform.
Part of the Acquire team, leading the rewrite of the Refer-a-Friend platform.
- Designed and delivered a new Bounded Context for the Refer-a-Friend domain, migrating existing functionality into a clearer architecture and reducing coupling with the surrounding Remittance platform.
- Owned the Advocate/Friend user-management lifecycle end-to-end within the new context, including identity, eligibility, and state transitions.
- Owned program management - programs, campaigns, and promotional strategies — and introduced support for multiple concurrent campaigns per program.
- Replaced manual user-eligibility checks with an automated, extensible check framework, allowing new rules to be added without touching core flows.
- Standardized API response shapes and error handling across all RAF endpoints, producing consistent entity contracts regardless of the calling surface.
- Improved structured logging and queue management; onboarding a new queue went from a multi-day effort to a single morning.
- Reduced lead time for bug fixes and feature delivery; several refinements now ship within hours rather than sprints.
- Established an Epic / Story / Sub-task breakdown cadence in use by the team.
- Increase in platform stability post-migration.
-
Remote Backend Web Developer
TransferGo
Part of the Acquire team, leading the rewrite of the Refer-a-Friend platform.
Part of the Acquire team, leading the rewrite of the Refer-a-Friend platform.
- Designed and delivered a new Bounded Context for the Refer-a-Friend domain, migrating existing functionality into a clearer architecture and reducing coupling with the surrounding Remittance platform.
- Owned the Advocate/Friend user-management lifecycle end-to-end within the new context, including identity, eligibility, and state transitions.
- Owned program management - programs, campaigns, and promotional strategies — and introduced support for multiple concurrent campaigns per program.
- Replaced manual user-eligibility checks with an automated, extensible check framework, allowing new rules to be added without touching core flows.
- Standardized API response shapes and error handling across all RAF endpoints, producing consistent entity contracts regardless of the calling surface.
- Improved structured logging and queue management; onboarding a new queue went from a multi-day effort to a single morning.
- Reduced lead time for bug fixes and feature delivery; several refinements now ship within hours rather than sprints.
- Established an Epic / Story / Sub-task breakdown cadence in use by the team.
- Increase in platform stability post-migration.
-
Remote Backend Web Developer
TransferGo
Help maintain current Fintech solution, and help transition parts of the system to a microservice architecture.
Help maintain current Fintech solution, and help transition parts of the system to a microservice architecture.
- Based on LAMP (Laravel & Symfony).
- Distinct separation between Application & Domain layers (Framework & Infrastructure as well).
- Domain Driven Design and Test Driven Development.
- Applying best industry standards (Design Patterns/Design Principles).
-
Remote Backend Web Developer
Exporo
Developing a trading platform project for financial asset transactions.
Developing a trading platform project for financial asset transactions.
Event-driven microservice project, as part of a bigger Fintech SaaS solution, involving blockchain tokens and e-wallet management. Based on LAMP (Laravel).
- Developing using Micro-service and Event-driven Architecture.
- Distinct separation between Application and Domain layers.
- Domain Driven Design and Test Driven Development.
- Applying best industry standards (Design Patterns/Design Principles).
-
Remote Backend Web Developer
The Interaction Design Foundation
Help develop and maintain Company's SaaS product.
Help develop and maintain Company's SaaS product.
-
Remote Fullstack Web Developer / Team leader
redWEB ApS
Re-write Company's main product, providing it with a more reliable Architecture and Design. Develop both backend as well as frontend core functionalit…
Re-write Company's main product, providing it with a more reliable Architecture and Design. Develop both backend as well as frontend core functionality, with strong separation of concerns, which will support future platform's development.
Moved to a composer based package system, which is platform agnostic (PHP). This allows the platform to be installed in several backend frameworks/platforms, as well as, change Templates/Interfaces in frontend independently.
Frontend development using ES6, HTML5 and CSS3 (LESS). Backend development using SOA/N-Tier Architectures, and DDD. Applied best industry standards (Design Patterns/Design Principles).
Distinct separation between Application layer and Domain.
Full project's TDD (Domain and Frontend). Full Unit and Integration testing in the Domain. Unit and Acceptance testing in Application Layer (not finished).
-
CTO
Construções Europa Ar-lindo, S.A
IT Infrastructure manager. ERP implementation supervisor. Proprietary and third-party system's integration and automation.
IT Infrastructure manager. ERP implementation supervisor. Proprietary and third-party system's integration and automation.
Internal work-flow monitoring, auditing and automation. Applicational development for BI (Business Intelligence). Auditing and Reporting for DSS (Decision Support Systems).
Web and Windows development. Telecommunication's management.
-
IT Manager
Habitâmega-Construções, S.A.
IT Infrastructure manager. ERP development and customization. Validators, Automations, Auditing and Reporting in PHC Advanced and Enterprise.
IT Infrastructure manager. ERP development and customization. Validators, Automations, Auditing and Reporting in PHC Advanced and Enterprise.
Domotic system's implementation and customizing.
-
Web Developer
DaPitch
Development of a Rich Interface Application (RIA), with extensive use of JavaScript, mimicking desktop application behavior. User Generated Contents (…
Development of a Rich Interface Application (RIA), with extensive use of JavaScript, mimicking desktop application behavior. User Generated Contents (UGC), and System's Generated Content. Complete system's self-management.
LAMP Stack.
-
Desktop Developer
QuintaSinfonia, S.A.
Desktop development for one of the top 3 nations school management software-houses. VB6 to WinForms 2.0 migration. Application's automatic update syst…
Desktop development for one of the top 3 nations school management software-houses. VB6 to WinForms 2.0 migration. Application's automatic update system development.
-
Software Programmer
Instituto Universitário da Maia
Webform's development in .NET 1.1. Multimedia design and development in Action Script and Flash.
Webform's development in .NET 1.1. Multimedia design and development in Action Script and Flash.