Back to offers
Amazon

Senior Backend Developer – Payments Platform

Amazon

Krakow, Poland

30 000 - 40 000 PLN

Gross

Monthly

Employment

Full time

Experience

Senior

Contract

B2B, Permanent

Job type

Hybrid

Node.jsPostgreSQLKafkaBack-End

Original Offer

View detailed description on company site

Job description

Amazon's payments platform team in Kraków is the backbone of transaction processing for multiple product lines. We handle tens of millions of financial operations per day and operate under strict regulatory requirements (PSD2, PCI-DSS). As Senior Backend Developer you will work at the intersection of reliability engineering and feature development for a service where correctness and observability are non-negotiable.

Your responsibilities span: designing and implementing idempotent REST and event-driven payment APIs; building and owning Temporal workflows for complex multi-step financial transactions; maintaining Kafka consumers and producers for event sourcing; and leading incident retrospectives when something goes wrong. You will be the technical point of contact with the fraud prevention and compliance teams.

We expect you to deeply understand distributed system failure modes - split-brain, duplicate processing, partial failures - and to codify that understanding in runbooks and architecture decision records. You will mentor two mid-level engineers on the team and participate in technical hiring screens.

The system runs on AWS ECS with RDS PostgreSQL, ElastiCache for distributed locking, and MSK for Kafka. Observability is built on Datadog; on-call rotation is shared across the team (typically one week in six).

Technical stack

  • Node.js 20
  • TypeScript 5
  • NestJS 11
  • PostgreSQL 16
  • Prisma ORM
  • Apache Kafka (Confluent Cloud)
  • Redis 7
  • Temporal (workflow engine)
  • OpenAPI 3.1
  • Jest
  • k6 (load testing)
  • Datadog APM
  • AWS (ECS
  • RDS
  • ElastiCache
  • MSK)
  • Docker
  • Terraform

Interview process

Step 1 - Recruiter intro (30 min): logistics, visa, timeline, a brief overview of the payments domain.

Step 2 - Live coding (60 min, Node.js + TypeScript): implement a simplified idempotent payment processing service. We evaluate correctness, error handling, and how you reason about concurrent requests and duplicate submissions.

Step 3 - System design - payments (75 min): design a distributed payment processing system. Topics will include event sourcing vs CRUD, Kafka offset management, exactly-once delivery, distributed locking with Redis, and PCI-DSS data residency considerations.

Step 4 - Team and domain fit (45 min): conversation with two engineers who will be your direct collaborators. We discuss incident response, technical trade-offs in past projects, and how you handle disagreement with product management.

Step 5 - Offer: issued within 5 business days. Compensation includes base, RSUs (4-year vest), and sign-on.

Read the full description and apply if you think you are a good match.

Job views

833

Posted

a day ago

Publisher

Evan Bell

Similar Job Offers

Join our newsletter

Get the latest job offers directly to your inbox.