Principal Software Developer – Payments

Posted 2 weeks ago

Apply Now

About the role

  • Principal Software Engineer leading the Payments team to develop secure and scalable payment solutions for travel partners. Collaborating with various business units to enhance transaction processing.

Responsibilities

  • Provide technical leadership for the Payments team, taking ownership and technically driving the team to deliver high-quality products and features that create clear business value in an Agile development environment.
  • Act as the principal architect for payments: design and evolve end-to-end payment flows and services, ensuring they are secure, resilient, scalable, and cost-effective.
  • Participate in and often lead Architecture Assessments & Reviews as a subject matter expert, especially for payment-related initiatives and integrations.
  • Serve as the technical SME for payments within Plusgrade, with deep expertise across authorization, capture, refunds, reconciliation, tokenization, risk/fraud signals, and settlement.
  • Own the design and implementation of payment service provider (PSP) integrations, including orchestration across multiple PSPs, routing logic, and failover strategies.
  • Define and drive best practices for PSP integration patterns (e.g., API contracts, idempotency, error handling, retries, webhooks/callbacks), ensuring consistency and reliability across providers.
  • Partner with Product, Security, Compliance, and Finance to ensure our payment systems align with industry standards and regulations.
  • Take the initiative to identify and solve important problems, making balanced trade-offs with respect to the whole system and business value.
  • Evangelize OOP principles, clean code practices, and design patterns, and hold a high bar for code quality, reliability, and maintainability in payments and beyond.
  • Research, evaluate, and propose new technologies, tools, and payment solutions that can improve our platform and accelerate delivery.
  • Provide support and guidance to less experienced peers, acting as a mentor and role model for engineers across multiple teams.

Requirements

  • 8+ years of relevant software development experience, including substantial time as a senior or staff engineer owning complex, distributed systems.
  • Extensive experience designing and implementing software in Java (Spring framework) and good knowledge working with modern front-end technologies (e.g., TypeScript and React) in a full-stack or API-centric environment.
  • Payments domain expertise, including:
  • - Hands-on experience integrating with multiple payment service providers (PSPs) (e.g., design, build, and maintenance of PSP integrations and payment orchestration).
  • - Strong understanding of payment flows (auth/capture/refund/voids), reconciliation, and operational considerations for high-volume transactional systems.
  • Proven experience technically leading teams or large initiatives with a delivery-focused mindset.
  • Experience using a cloud platform (AWS preferred), deploying and operating applications in the cloud (e.g., AWS ECS, EKS, GCP), and using Docker and observability tooling (e.g., Datadog).
  • Experience building secure, reliable, performant, scalable, and cost-effective cloud applications in production.
  • Extended experience with SDLC processes and Agile practices, and a track record of shipping well-tested, high-quality features fast and frequently.
  • Remarkable debugging and problem-solving skills, with a passion for finding elegant solutions to complex technical and product problems.

Benefits

  • RRSP/401(k) matching
  • Comprehensive health plans
  • Flexible paid time off
  • Annual upgrade credit
  • Annual physical wellness credit
  • Annual mental wellness credit
  • Flexibility to work remotely
  • Parental leave top-up
  • Adventure Pass

Job type

Full Time

Experience level

Lead

Salary

Not specified

Degree requirement

Bachelor's Degree

Tech skills

AWSCloudDistributed SystemsDockerGoogle Cloud PlatformJavaReactSDLCSpringTypeScript

Location requirements

HybridMontrealCanada

Report this job

Found something wrong with the page? Please let us know by submitting a report below.