Software Engineer - Typescript - Backend - Payments
Kraken
- Location
- Europe
- Job Type
- full-time
- Salary
- $110K β $176K
- Posted
- June 28, 2025
Job Description
Building the Future of Crypto
Our Krakenites are a world-class team with crypto conviction, united by our desire to discover and unlock the potential of crypto and blockchain technology.
What makes us different?
Kraken is a mission-focused company rooted in crypto values. As a Krakenite, you’ll join us on our mission to accelerate the global adoption of crypto, so that everyone can achieve financial freedom and inclusion. For over a decade, Kraken’s focus on our mission and crypto ethos has attracted many of the most talented crypto experts in the world.
As a fully remote company, we have Krakenites in 70+ countries who speak over 50 languages. Krakenites are industry pioneers who develop premium crypto products for experienced traders, institutions, and newcomers to the space.
Become a Krakenite and build the future of crypto!
Proof of work
The team
We are currently seeking an experienced Software Engineer to join our growing Payments & Blockchain team to be focused on our payments systems.
The Payments & Blockchain team is responsible for the first and last mile of every dollar (digital or fiat) that goes in or out of Kraken. Join our Payments team to help integrate Kraken’s systems with an ever-expanding universe of payments.
The opportunity
-
Design and implement robust services and libraries for payments integration across our products at Kraken
-
Write reusable, testable, and highly efficient codebase
-
Collaborate with cross-functional teams, including Product, Design, and Fronted Engineering to ensure seamless integration of new features and improvements in a large scale distributed systems architecture
-
Partner closely with crypto native engineers
Skills you should HODL
-
3+ years of experience in software engineering
-
Proficiency in writing clean, scalable Typescript/node.js backend code
-
Demonstrated commitment to a security-first mindset when designing systems
-
Capability to autonomously debug issues across the stack, including OS, network, and application layers
-
Familiarity with distributed systems and technologies, including RPC protocols, Kafka, and Event Driven Systems
#LI-Remote #LI-BS1
This job is accepting ongoing applications and there is no application deadline.
Please note, applicants are permitted to redact or remove information on their resume that identifies age, date of birth, or dates of attendance at or graduation from an educational institution.
We consider qualified applicants with criminal histories for employment on our team, assessing candidates in a manner consistent with the requirements of the San Francisco Fair Chance Ordinance.
Kraken is powered by people from around the world and we celebrate all Krakenites for their diverse talents, backgrounds, contributions and unique perspectives. We hire strictly based on merit, meaning we seek out the candidates with the right abilities, knowledge, and skills considered the most suitable for the job. We encourage you to apply for roles where you don't fully meet the listed requirements, especially if you're passionate or knowledgable about crypto!
As an equal opportunity employer, we don’t tolerate discrimination or harassment of any kind. Whether that’s based on race, ethnicity, age, gender identity, citizenship, religion, sexual orientation, disability, pregnancy, veteran status or any other protected characteristic as outlined by federal, state or local laws.
π― Who is this job for?
This position is ideal for a Backend Software Engineer with 3+ years of experience in TypeScript and Node.js, especially those passionate about crypto and payments systems. Candidates should be skilled in building scalable, secure backend services, debugging across full-stack layers, and familiar with distributed systems and event-driven architectures (Kafka, RPC). It's a fully remote role open to applicants across Europe.
π¬ Potential Interview Questions
-
How do you design secure and scalable payment services using TypeScript and Node.js?
Use layered architecture with validation, authentication, rate limiting, transaction logging, and idempotent operations to ensure security and reliability. -
What techniques do you use to debug backend issues across OS, network, and application layers?
Use logs, tracing, tools likenetstat
,lsof
, Wireshark, and Node.js debuggers; investigate metrics and leverage observability tools like Prometheus and Grafana. -
How do you ensure a payment system is fault-tolerant and reliable in a distributed environment?
Use retries with backoff, message queues like Kafka, circuit breakers, service timeouts, and design for eventual consistency. -
What are key differences between REST and RPC protocols for backend communication?
REST is HTTP-based and human-readable; RPC is more compact, faster, and ideal for service-to-service communication using structured data like Protobuf. -
How do you handle transaction idempotency in payment processing?
Assign unique request identifiers and store processed transaction IDs to prevent duplicates during retries or failures. -
What are best practices for integrating with third-party payment providers in Node.js?
Use abstraction layers, handle errors and timeouts gracefully, validate responses, implement retries, and manage secrets securely. -
How do Kafka and event-driven systems benefit payment architecture?
They decouple services, allow asynchronous processing, improve scalability and reliability, and enable better fault isolation and auditing. -
What security measures do you implement when handling payment data?
Encrypt data at rest and in transit, use tokenization, enforce strict access control, validate inputs, and comply with standards like PCI-DSS. -
How do you test backend systems that involve external financial APIs?
Use mocks/stubs for API responses, integration tests for real environments, and simulate edge cases like timeouts and malformed responses. -
Describe your approach to ensuring code quality and maintainability in a large Node.js project.
Use TypeScript for type safety, follow clean architecture principles, enforce linting and formatting, write unit/integration tests, and use CI pipelines.
π Job Summary
Kraken, a leading global crypto platform, is hiring a Backend Software Engineer to join its Payments & Blockchain team. You'll build scalable, secure TypeScript/Node.js services to power global crypto and fiat transactions. This fully remote role across Europe offers a competitive salary (\$110K–\$176K) and the chance to shape the future of crypto finance. Join a mission-driven company with top-tier talent, cutting-edge tech, and a commitment to financial freedom and inclusion.