Senior Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking a London-based Senior Software Engineer (Node.js / TypeScript) to build and operate backend services supporting payment, checkout, and transactional workflows. You will collaborate closely with Product, Frontend, Platform, and Infrastructure teams to deliver secure, scalable APIs in high-throughput environments. This role sits at the core of Verifone's payments and checkout platform, where backend engineering directly impacts secure, high-volume transactions used globally. You'll design and operate scalable, production-critical systems that must perform reliably under real-world load, evolving payment methods, and strict security requirements.
Requirements
Programming Languages
TypeScript (version 3.x or higher) Node.js (version 16 or higher)
Backend Frameworks & Libraries
Backend frameworks such as Hapi.js, or alternatives including Express, Fastify, or NestJS Validation using Joi Authentication and authorization using JWT and OAuth2
Architecture & Design
Strong grounding in Clean Architecture and Domain-Driven Design (DDD) Dependency Injection (e.g., InversifyJS) Repository and modular design patterns Experience building maintainable, testable backend systems
APIs & Data
Design and operation of RESTful APIs API versioning and request validation Advanced filtering using RSQL or equivalent Experience with MongoDB (modeling, indexing, performance tuning) Experience with Redis for caching or messaging Database migrations and schema evolution
Cloud & Infrastructure
Hands-on experience with AWS services such as EC2, S3, Secrets Manager, and CloudWatch Docker and Docker Compose Strong discipline with CI/CD pipelines and Git workflows
Testing & Quality
Automated testing using Jest or Mocha/Chai/Sinon End-to-end testing with Cypress (optional) Strong focus on code quality, reliability, and maintainability
Bonus Skills And Experience Payments & Security
Experience integrating payment providers such as Stripe, PayPal, or Klarna Knowledge of authorization, capture, and refund flows Experience with 3D Secure Awareness of PCI-DSS requirements and security best practices Understanding of checkout and transactional domain flows
Production Engineering
Performance optimization and debugging in production systems Exposure to monitoring or APM tools (e.g., AppDynamics or similar) Experience operating high-availability or fault-tolerant systems Familiarity with fraud-related considerations
Frontend & Platform Exposure
Experience working alongside frontend frameworks such as Angular or React Familiarity with RxJS and state management (NgRx or Redux) Server-side rendering with Pug templates HTML/CSS with SASS or PostCSS Iframe-based widget embedding
Additional Bonuses
Fintech, payments, or e-commerce domain experience Messaging systems such as Kafka, RabbitMQ, or Redis Pub/Sub Internationalization (i18n) systems Puppeteer for PDF or receipt generation