TransferGo
Staff Software Engineer
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.