Senior Software Engineer

Verifone
Charing Cross, United Kingdom
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Charing Cross, United Kingdom

Tech stack

JavaScript
Multitier Architecture
API
Amazon Web Services (AWS)
Amazon Web Services (AWS)
User Authentication
Automation of Tests
Cloud Computing
Software Quality
Software Debugging
Dependency Injection
Fault Tolerance
Enterprise Messaging Systems
Modular Design
MongoDB
Node.js
OAuth
PCI Data Security Standards
Performance Tuning
RabbitMQ
Redis
E2e Testing
TypeScript
Management of Software Versions
RxJS
Sinon
React
Cypress
Caching
Indexer
Puppeteer (Software)
Backend
Database Migration
SASS
Stripe
Angular
Git Flow
Kafka
Front End Software Development
Iframes
React
Verifone
Cloudwatch
NestJS
REST
Domain Driven Design
Mocha
Appdynamics
Docker
Programming Languages

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

Apply for this position