Senior Software Engineer

ScreenedHybridContractJust posted
London, Greater London
Posted 1 day ago
Apply Now

About the role

Job Description

About Us

Please make sure you read the following details carefully before making any applications.

Visa is a world leader in payments technology, facilitating transactions between consumers, merchants, financial institutions and government entities across more than 200 countries and territories, dedicated to uplifting everyone, everywhere by being the best way to pay and be paid.



At Visa, you'll have the opportunity to create impact at scale - tackling meaningful challenges, growing your skills and seeing your contributions impact lives around the world.



Join Visa and do work that matters - to you, to your community, and to the world. Progress starts with you.



Job Description



Currencycloud was acquired by Visa in December 2021. Our Senior Software Engineers are responsible for implementing an industry-leading API that has already processed over 50 billion USD of cross-border transactions for over 5 million end users, and is available to our clients 24x7. But we're not stopping there, and our engineers are at the forefront of taking us forward to meet the demands of even greater scale.


You'll be joining the FX Routing and Aggregation (FXRA) team, responsible for the core FX trading platform that powers Currency Cloud's foreign exchange capabilities. Our team owns multiple microservices spanning FX pricing, risk management, trade routing, market data integration, and treasury operations.


Our stack runs on AWS as a set of distributed applications using Kubernetes and a microservice-led architecture. We are also utilizing Kafka for our streaming and PACT for Contract testing.


What you'll get to do



  • Build and maintain mission-critical FX trading services including pricing engines, risk management systems, and market data providers


Work with real-time FX market data from providers like Barclays and JP Morgan using FIX protocol


Design and implement high-throughput, low-latency services handling billions in FX transactions


Lead technical discussions around hexagonal architecture, event-driven patterns, and distributed systems design


Mentor junior engineers and establish best practices for the team


Own your domain end-to-end with clear service boundaries and independent deployment paths


Collaborate with Treasury, Trading, and Platform teams across the organization



You'll get



  • Clear ownership of your domain


A clean modern codebase


An independent path to production


Strong platform and product support


The ability to make real changes with real business value.



Our Tech Stack includes



  • Object-oriented programming forms the bulk of our codebase, currently in Java, versions 11+, and ideallySpring bootframework


Highly-scalable, highly-available, cloud-native applications on AWS are key to our next phase of growth, are written to 12-factor principles and fit into our microservices architecture


Cloud-related tools, services, and distributed system observability to support these applications, such as Docker, Kubernetes,ElasticSearch, log management systems, and Datadog APM, to name but a few


API specifications, conforming to the OpenAPI (Swagger) standard, provide a clean boundary both externally between our customers and our product, and internally between our microservices


SQL, and large SQL databases, provide the persistence layer for our applications. You'll be working with (and know the limitations of using) such large datastores


Infrastructure automation is primarily owned by the infrastructure team, but you will be a consumer of their work, familiarity with AWS, Terraform and Docker is beneficial


Testing approaches, including TDD, BDD and Contract Testing, all form an important part of our approach to quality assurance, ensuring that the code that we write forms products that are fit for use. We currently use a variety of frameworks including JUnit,RSpecand Cucumber


Agile development, with teams broadly aligned with the Spotify - Squads and Tribes - model, helps us deliver incremental improvements to our products in an iterative manner. Advocating this model, and joining us on a journey of continuous improvement, is a key attribute of members of our teams


Continuous Integration and Continuous Delivery pipelines allow us to automate-all-the-things, providing repeatable builds and consistent deployments


GitHub, and the GitHub PR review process, forms a core part of our developer workflow, and peer reviews help share knowledge and improve quality


Teamwork, and cross-team collaboration, is fundamental to the delivery of our applications. Whilst each application has an independent path to production, there will always be some activities and initiatives that span multiple teams and require cross-team collaboration. Within your team you'll need to collaborate with a number of stakeholders, including Product Owners and QA, as part of your product development



This is a hybrid position. Expectation of days in office will be confirmed by your Hiring Manager.

Visa requires at least 3 days in office, expectations of these days will be confirmed by your Hiring Manager.


Qualifications





Qualifications:






  • 5+ years of experience in software development.







  • 2+ years of experience building microservices with Java.







  • Proficient in other programming languages, ideally being comfortable reading Ruby or Scala.







  • Working knowledge of relational databases such as MySQL.







  • Experience designing event based and streaming solutions using Kafka will be valued.







  • Experience building applications that run in Kubernetes would be handy.















  • Hands-on experience delivering high-quality production code with Claude Code.







  • Experience managing working with contractors and outsource teams is important.







  • Experience building in software for financial domain, especially in risk is beneficial.







  • Experience working with agile process and principles.







  • Experience in multiple programming languages, these teams primarily use Java, so experience with microservices in Java is important.









  • Proficient in different programming languages, ideally being comfortable reading Ruby or Scala.







  • Experience designing event based and streaming solutions using Kafka will be valued.







  • Strong SQL knowledge, ability to understand and write complex queries.







  • Working knowledge of relational databases such as MySQL.







  • Experience building applications that run in Kubernetes would be handy.







  • Working in a DevOps environment, or passion and willingness to work in this way.







  • Proven delivery of well-tested, scalable, fault-tolerantand performant solutions.







  • A pragmatic approach to solutions and delivery of technical projects.







  • Have been a driving force not only behind change in yourpreviousroles but also in working in a distributed environment.







  • Having worked in a collaborative environment where you are comfortable reviewing code of your peers.






Exceptional structure and attention to detail.

Comfortable challenging the status quo and always curious about the way things work. Great written and verbal communication skills. xwzovoh

Comfortable working in a scale-up or growth environment and as part of a wider team



Visa is an EEO Employer


Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, sexual orientation, gender identity, disability or protected veteran status. Visa will also consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines and applicable local law.


About this listing

Screened by Joboru

This role passed our automated spam and quality filters and was active in our feed when last checked. Joboru is an aggregator — here is how we screen listings. If anything looks off, tell us.